Agenda component
Building components
Date components
Date formats
Hex and Roman formats
Under Construction Column
As, Is and In keywords
Borland Pascal
Case optimisations
Class versus Object
Exception handling
Open arrays
Properties
Result variable in functions
MVB format files
WHIFS
WinHelp file system
Windows Help files
Message handling
Clipping regions
Graphics
Paint method
Reducing flicker
Screen refresh
2-schema and 3-schema
Client/server
Delphi Internals column
EXTERNAL keyword
Using DLLs
WINPROCS unit
Writing DLLs
Adrian King
Book reviews
Inside Windows 95
Windows 95
Installing VBX controls
RTF editor
Reviews
Visual Solutions Pack
Animation
BitBlt
Screen flicker
Sprites
Using bitmaps
Chief's Installer Pro
Dr A Olowofoyeku
Install programs
The African Chief
Building Help
Designing Help
Help authoring tools
Hypergraphics
Hypertext
Delphi for Dummies
Neil Rubenking
Deriving objects
FreeObjectInstance
FreeProcInstance
MakeObjectInstance
MakeProcInstance
Message handlers
OnMessage
PostMessage
ProcessMessages
SendMessage
SetWindowLong
Subclassing
TMessage
Windows API
Windows messages
Component expert
Component properties
DLL Import units
DLLs
Encapsulating DLLs
Exceptions
Explicit DLL import
Implicit DLL import
LoadLibrary
Tic-Tac-Toe
Under Construction column
Variant records
Visual Basic
DeleteMenu
Drag and Drop
DragAcceptFiles
DragQueryFile
DragQueryPoint
GetSystemMenu
HWND_TOPMOST
Icon on top
InsertMenu
ModifyMenu
SC_ICON
SetCharacteristics
SetWindowPos
ShellAPI
Start Iconized
Start as icon
System menu
WM_DROPFILES
WM_QUERYOPEN
WM_SYSCOMMAND
WindowState
Absolute
Delphi forms
Form resources
Resource Workshop
Resource files
Sel variable
Undocumented
Unions
Delphi Developers Guide
Delphi Programming Explorer
Steve Teixeira
Xavier Pacheco
32 bit BDE
Delphi 2 preview
ISQL
InterBase
Interactive SQL
Joining tables
SQL
SQL Join
SQL operators
SQL transactions
SQL: Adding records
SQL: BETWEEN
SQL: COMMIT
SQL: DELETE
SQL: INSERT
SQL: LIKE
SQL: ORDER BY
SQL: ROLLBACK
SQL: SELECT
SQL: SET
SQL: Sorting
SQL: UPDATE
SQL: VALUES
SQL: WHERE
SQL: Wildcards
SQL: copying records
Surviving Client/Server
Clipboard
Custom clipboard formats
RegisterClipboardFormat
Streams
TClipboard
TMemoryStream
Adding properties
Alignment of text
Component palette bitmaps
Deriving components
Hiding properties
Prevent control resizing
Private
Published
Right aligned TEdit
SetBounds
TCustom... components
32 bits
Allocating memory
C and C++
Conditional compilation
Converting C to Pascal
Count for ListBox
Create
CtoP C translator
DLL header conversion
Delphi for C programmers
Delphi for C++ programmers
Destroy
HeadConv expert
Huge pointers
ItemIndex
LB_SETCURSEL
Porting 16 to 32 bits
Porting C to Pascal
Smart linking
WINDOWSX.H
WM_INITDIALOG
WinMain
_hread
_hwrite
far declaration
implementation
interface
message cracker
pre-processor macros
static
unit
HiWord
LoWord
Offset
Ofs
Pointers
Random numbers
Randomize
Seg
Segment
Segmented memory
SysUtils unit
Tag
Typecasting
Variable typecasts
initialization
AddExitProc
Building DLLs
C DLL Header converter
COMPLIB.DCL
CloseProject
Compiling DLLs
DLL skeleton expert
Delphi IDE
ExitProc
Experts
Exporting from DLLs
ExptIntf unit
GetComment
GetIDString
GetStyle
HeadConv
Installing experts
OpenProject
Project Experts
TIExpert
TOOLINTF unit
ToolServices
Using DLLS written in C
Writing experts
esEnabled
esForm
esProject
esStandard
C/C++
Calling Delphi DLLs from C
Calling Delphi DLLs from VB
Creating DLLs
FormCreate
Hiding forms
Library keyword
ModalResult
Null terminated strings
PChar
Putting forms into DLLs
ShowModal
StrNew
StrPas
TCalendar
Using DLLS
exports keyword
Charlie Calvert
Delphi Unleashed
Application
Application title
Cascade windows
CmdShow
ColorDialog
Command line
Component list
ComponentCount
CreateWindow
Drag and drop
EXEName
ExtractFileName
ExtractFilePath
FormStyle
HintColor property
Hints
HookMainWindow
Icon captions
Icon property
NormalizeTopMosts
OnMessage event
OnMinimize event
RestoreTopMosts
ShowWindow
Stay on top
System unit
TApplication
Terminated
Tile windows
UnHookMainWindow
WM_WindowPosChanging
WinProcs unit
fsStayOnTop
wm_DropFiles
wm_Paint
SQL: AVG
SQL: COUNT
SQL: DISTINCT
SQL: GROUP BY
SQL: HAVING
SQL: MAX
SQL: MIN
SQL: SUM
SQL: UNION
SQL: aggregate functions
SQL: duplicate rows
SQL: grouping data
SQL: limiting groups
SQL: select unique records
SQL: sorting
SQL: unions
Creating Windows Help
Creating component Help
DLL wrappers
Encapsulating DLLS
Encoding binary files
Help files
Help keywords
KWGEN utility
UUDecode
UUEncode
AS keyword
Assembler
BIOS data
BIOSCounter property
Delegation
GetBIOSCounter
IS keyword
Mem, MemW, MemL
Message crackers
Msg message number
OnActivate
Reading directly from memory
Sender
TMinMaxInfo
TObject
Timer
Typecasting objects
WM_GetMinMaxInfo
WParam and LParam
Win32
BDE configuration
Customised database logins
Database
LogOff and LogOn again
Login dialog
LoginDlg
LoginParams
LoginPrompt
OnLogin event
TDatabase
TDataset
32 bit code in Delphi 1
ANSIChar
AnsiString
Asssember
Call32NT
Cardinal
Char
Delphi 1 to Delphi 2
Generic thunk
H+ compiler directive
PolyBezier
Porting to 32 bits
SetLength
ShortString
SmallInt
Stack layout
String
Thunking
WideChar
WideString
lParam
wParam
BDE
BDE callbacks
Callbacks
Callbacks in DLLs
DPMI
EnumChildWindows
EnumWindows
Finding all the windows
Finding child windows
Fixed segments
GPF
GetProcAddress
Interrupt handlers
InterruptRegister
Interrupts
K+ compiler directive
MMSYSTEM
Multimedia library
NotifyRegister
Protected mode
Real mode
Real mode interrupts
ShowMessage
Smart callbacks
Timers
ToolHelp
Trapping GPFs
dbiRegisterCallback
stdcall
timeSetEvent
Accurate timers
Algorithms
BTree
Binary search
Bubble sort
Compiler options
Data structures
Efficiency
GetTickCount
Linker options
Optimising code
Performance optimisation
Quick Sort
Searching
Sorting
Speed
TDirectoryOutline
Timing code
Turbo Profiler
32-bit
$R compiler directive
Animated cursor
BMP files
Bitmaps
Creating cursors
Cursors
Custom cursors
EFOpenError
Icons
Image Editor
LoadBitmap
LoadCursor
LoadIcon
RC files
RES files
Resource numbers
Resource scripts
TImage
WM_NCMOUSEMOVE
Cliboard: images
Device context
GetDC
GetDesktopWindow
GetSystemMetrics
GetWindowDC
Inverting bitmaps
Inverting colours
Mouse handlers
Rubber banding
Screen capture
Windows desktop
Forms as resources
Initialising variables
Linking resources
Typed constants
Client/Server
Dynamic SQL
Generating SQL
Modifiable data sets
Parameterized queries
RequestLive
SQL prepare
TQuery
TTable
TTable versus TQuery
Table navigation
Unidirectional
Custom events
Event handlers
Event signallers
TNotifyEvent
UUEncode & UUDecode
WM_SETCURSEL
BDE Help file
DBIERRS.INT
DBIPROCS.INT
DBITYPES.INT
DbiRegisterCallback
MessageDlg and callbacks
PostMessage / SendMessage
ShowMessage and callbacks
TCallBack
Table changed callback
Thunks
cbTableChanged
80386, 80486
CPU type
CPUID instruction
GetWinFlags
Intel processor documents
Pentium
Pentium Pro
Processor identification
Eschalon power controls
Delphi How-To
Gary Frerking
BASM
Built in assembler
Dynamic methods
Exceptions and performance
InLine macros
Linking external assember
Loading DLLs
OBJ files
Performance Optimisation
RTTI
Run time type information
Virtual methods
W8LOSS
Data entry controls
Data validation
Formatted data entry
Orpheus
TurboPower
Assign and AssignFile
BlockRead
BlockWrite
ExistFile
File buffer
File handling
File of ...
File records
File variables
Flush
Read file records
Reset
Rewrite
Seek
SetTextBuffer
Text and TextFile
Text file buffer
Typed files
Untyped files
Write file records
DsgnIntf unit
GetAttributes
Property editors
RegisterPropertyEditor
TEnumProperty
TPictureEditor
TPropertyAttributes
TPropertyEditor
Tools API
UUdecode
UUencode
paAutoUpdate
paDialog
paMultiSelect
paReadOnly
paSortList
paSubProperties
paValueList
ChartFX
Enhanced VBX support
TVBXControl
Using VBXs
VBX controls
Data security
ExecProc
Interbase
Open
ParamByName
Params
Prepare for SQL query
SQL: EXECUTE PROCEDURE
SQL: stored procedures
Security
Stored procedures
TStoredProc
Triggers
Unprepare for SQL query
EnableExceptionHandler
LocalAlloc
Memory allocation
NotifyUnRegister
OutputDebugString
SetMenu
TFaultHandler
TFaultResponse
TNfyLogParamError
ToolHelp DLL
dhDebugHooked
Class
Private keyword
Property keyword
Protected keyword
Public keyword
Published keyword
32-bits
BIOS
CMOS data
DOS calls
DOS interrupts
Disk drive
DiskSize
FCB
File Control Block
FindFirst
FindNext
GetMID
GetVolumeInformation
GlobalDOSAlloc
Identifying floppy disks
Identifying floppy drives
Intr
Long filenames
MIDINFO
SetMID
SetVolumeLabel
TSearchRec
Volume labels
WinDOS unit
Windows NT
Design time and run time
TComponentState
TMouseEvent
property keyword
Delphi 1 books overview
BMP
DFL Software
GIF
Image handling library
JPG JPeg
LightLib Images
PCX
PNG
Scanner support
Scanning
TGA
TIF
TWAIN
Building experts
Class references
Converting classes
CreateModule
Database expert
DatabaseCount
File streams
GetTableNames
IsValidIdent
Memory streams
OnPageChanged
ReadComponentResFile
Session
Streaming forms
TFileStream
TIMemoryStream
TSession
Valid identifier
WriteComponentResFile
$I compiler directive
ERuntimeError
ErrorProc
File error handling
File handles
File locking
File sharing
File variable record
FileExists
FileMode values
I/O error handling
IOResult error values
LockTable
Record locking
SHARE.EXE
TFileRec
TTextRec
Cascading delete
InterBase script files
Multiple queries
Multiple row result sets
SQL: CONNECT
SQL: CREATE PROCEDURE
SQL: FETCH
SQL: FOR ... DO
SQL: RETURNS
SQL: SET TERM
SQL: SUSPEND
StoredProcName
Building data aware controls
Data aware WAV button
Data aware components
DataSet
LoadFromFile
MemoryStream
Multimedia
Sound files
TDataSource
WAV files
sndPlaySound
MS Excel
MS Word
OLE Automation
OLE mirror classes
TOleAutomationClient
Word Basic
Word.Basic OLE object
CD ROM detection
CD: program running from?
DOS Interrupts
Disk serial number
Drive serial numbers
Floppy disk serial number
GetMid
MSCDEX
Running from CD?
Serial number
SetMid
GlobalAlloc
GlobalLock
IBM Game Adaptor
Joystick interface
MMSYSTEM DLL
MultiMedia API
SND_ASYNC
joyGetDevCaps
joyGetNumDevs
joyGetPos
joySetCalibration
Delphi RAD Pack
Resource Expert
Turbo Debugger
Debugging
Stack dump
Stack frame
Stack tracing
Bits Per Second
Charting Libraries
Data-aware graphs/charts
Graphics Server
Graphing libraries
LightLib Business
Adding an Alias
AliasName
BDE Configuration Utility
Commit
Connected
Database Aliases
Database DLLs
Database Login dialog
DatabaseName
DbiAddAlias
GetAliasNames
GetAliasParams
GetDriverParams
GetStoredProcNames
IDAPI.CFG
Rollback
StartTransaction
SystemTables
Transaction processing
Error handling
Except on ... do ...
OnException
Raise
Raising exceptions
TExceptionEvent
Terminate
Try ... Except
Errors on record size
File seek constants
FileCreate
FileOpen
FilePos
FileSize
FileWrite
Files
GetFileSize
LockFileArea
LockFileVar
Packed records
WinDos unit
Windows unit
Writing over 64Kb to file
Component editors
DSGNINTF unit
ExecuteVerb
GetComponentEditor
GetVerb
GetVerbCount
RegisterComponentEditor
TComponentEditor
Decision trees
Electronic circuit model
Floating point properties
Modelling systems
Properties of Type Real
Real type property editor
Absolute disk read/write
BPB
Bios Parameter Block
DeviceIOControl
Disk formatting
Disk lock
Disk sectors
FAT
File allocation table
Floppy disks
GetMessage
Interrupt
Low level disk I/O
PeekMessage
Quick format
Read/write disk tracks
SHELL32.DLL
SHFormatDrive
Volume lock
Aliases
Creating DBF files
Creating dBase files
Creating databases
Creating fields
Creating tables
Data dictionary
Database alias
Fields Editor
IDAPI
TBlobField
TField
TFloatField
TIntegerField
Finding windows
Launching applications
Network
Network applications
Shared tables
AVI files
Bitmap libraries
ImageLib 1.3
MID MIDI files
MOV files
SkyLine Tools
Video files
WMF
Blob streams
CopyFrom
FileSeek
LoadFromStream
Making objects streamable
Resource streams
SaveToStream
Streaming data
Streaming objects
TBlobStream
THandleStream
TResourceStream
TStream
32-bit assembly
Delphi 2
Optimization
Project Options
Typecasting variants
Variants
Code generation
Code skeletons
Coding utilities
Message Box Designer
MessageBox
Window title
Detecting disk type
Detecting drive type
Disk tracks
Floppy disk
Formatting disk tracks
Media sensing
COMPLIB.DPR
CompLib project
Registering components
Shared component library
Shared experts
Sharing COMPLIB.DCL
Workgroup development
Creating experts
Custom lists
List building expert
TComponentList
TList
TStringList
Type safety
Audio-enabled components
Building property editors
Linking sound into apps
Playing sounds
Sound
Sound components
Sounds property editor
TMediaPlayer
Component Create
Component Developers Kit
Component builders
Eagle Software
Potomac Document Software
HyperAct Inc
HyperTerp
Interpreter
Script component
Script languages
Scripting
Book Reviews
Delphi 2 books
Revolutionary Guide Delphi 2
Charts from database tables
DELPHI.INI
Delphi VCS interface
EXPTINTF unit
Installing VCS
TIVCSClient
VCSINTF unit
Version control systems
ViCiouS
AssignPrn
Fonts
Page orientation
Page size
Paper orientation
Paper size
Printer capabilities
Printer resolution
Printers unit
Printing
Printing Bitmaps
Printing rich text
Printing text
RTF
Rich text format
TPrinter
TPrinter Canvas
BDE Error code $2C09
Failure to initialise IDAPI
Clustered indexes
Cost-Based Optimizers
Indexes
Indices
MS SQL Server
Optimisation
Query optimizers
SQL execution plans
SQL performance tuning
SQL queries
SQL tuning
SQL: NATURAL
SQL: SET STATISTICS
SQL: UPDATE STATISTICS
Michelle Manning
No Nonsense Guide Delphi 2
DFM files
File Handling
File copy using streams
File copying
Form files
Persistent objects
ReadComponent
Run time resource streams
Saving application status
Saving the desktop
Streaming components
TPersistent
TWriter
Boot sector
Disk directory
File Allocation Table
Strings unit
Collections
Collections of components
Component lists
Property Editors
TCollection
TCollectionItem
Class constructors
Class method constructor
Class methods
Creating a class only one
Deriving classes
Events
Single instance class
Delphi Shareware
EMS Delphi CD
EMS Professional Shareware
EMS Shareware Library
BDE error codes
DBCTRLS unit
Database error handling
EDBEngineError
Extended TDBNavigator
Extending components
Inheritance
Object Orientation
TDBNavigator
Table navigator
Component building
Design or runtime mode
csDesigning
Error 21: Error in type
SYSTEM unit
TEXT file type
Public
.MDB files
Access ODBC driver
MS Access files
ODBC
Initialising properties
Property Default value
Property initial values
ExitWindows API function
Strings
Trim function for strings
Calling forms
Forms
Hide for forms
Secondary forms
Show for forms
Menu Designer
Menu separators
Menus
FixedCols
Resizing grid columns
TStringGrid
Closing forms
Removing scroll bars
Scroll bars
ScrollBars property
TDBGrid scroll bars
Calling applications
HandleMessage
Shelling out
WinExec
Editor shortcuts
Keyboard shortcuts
Custimising the Toolbar
Smaller EXE files
W8LOSS.EXE
File copy
File execute
File move
File utility routines
Parameter passing
Procedures and functions
TVarRec
Variable number parameters
Exporting classes from DLLs
abstract
cdecl
export
virtual
USES
WinCRT
error 85
Delphi 1 bugs
FixedColor in TDBGrid
TDBGrid
Canvas
TCanvas
Window NC area
Window non-client area
Windows Desktop canvas
RES format bitmaps
TBitmap
Laptop
Saving memory
TClipBoard
TStrings
DC
Painting
Menu shortcut keys
Menus unit
ShortCutToKey
Uses clause in DLL
Incorrect linker version
Making windows stay on top
Topmost window
Pixels property
KeyPreview
Popup menus
PopupComponent property
Editor shortcut keys
if..then..else
typed constants
checking range
in keyword
sets
Left padded strings
Left zero fill for numbers
$M+ compiler directive
Error 200
published
Break on except option
Component palette
Removing palette pages
Initialization
Unit startup code
Changing cursors
Mouse cursor
crHourGlass
Accelerator keys
DLLS
Extracting icons
FileListBox
Re-reading directory
Linking resource files
RC resource files
Date arithmetic
Date differences
Dates
DestroyHandle
EOutOfResources
Error creating window
GetFormImage
MDI applications
Maximum number of windows
TTabbedNotebook
Windows resource limits
64Kb variable size limit
Arrays
Huge arrays
BorderStyle
GetWindowLong
Titlebar: show and hide
Auto increment fields
Paradox tsble
SQL:  CREATE INDEX
SQL: CREATE TABLE
ActiveControl
Radio button focus
Radio group
SetFocus
DBGrid
Drag and drop to TDBGrid
Drag and drop to TStringGrid
256 colours
Stretch
Timage and 256 colours
Generic clipboard support
Control arrays
256 colour bitmaps
TBitmapFileHeader
Adding menu items
TMenu
ExtendedSelect
Listbox
MultiSelect
Multiple selection in listbo
TListbox
DbiErrs unit
DbiGetField
DbiProcs unit
DbiReadBlock
DbiTypes unit
Reading blocks of records
HookWindow
Lock files not deleted
Paradox lock files
Table not closed
WM_EndSession
WM_QueryEndSession
WM_Quit
Null terminated string
Simpler PChar
DDE
DDE Service name
DDE application name
DDEMAN unit
DDEMgr
OnClick event
TDBLookUpComboBox
Floating point
Microsoft C/C++
Microsoft floating point
NDP stack
Calling DLLs written in C
Pass by reference
const Pass by reference
var Pass by reference
TypInfo unit
IDAPI section WIN.INI
SQLTrace in WIN.INI
WIN.INI
Autosave options
Error reading symbol file
Symbol file
Credit lists
Easter eggs
Enumerated types
GetEnumName
Set types
Object oriented table
Debugging TComboBox
Debugging TListbox
TComboBox
CreateParams
Window style flags
TNotebook
TNotebook page background
Removing unnecessary code
TBevel
TLabel
Default IDE window size
Object Inspector
TDBLookupCombo
TDBLookupList
$C compiler directive
MOVEABLE
PERMANENT
PRELOAD
Segment attributes
Creating field objects
Dataset Designer
Exp
Power function
Raising a number to a power
File Access Denied dialog
File error dialog box
FileMode
Caps lock key
GetKeyboardState
Num lock key
Scroll lock key
SetKeyboardState
Enabled property
FocusControl
FocusEnable
TLabel Enabled property
Visible property
Event chains
Running programs
Running tasks
Enter key
Enter key as Tab key
GetKeyState
Intercepting keystrokes
Keypresses
OnKeyPress
Tab key
Trapping keystrokes
MDI
Maximised MDI children
Dates and times
TDateTime
TTimeField
Brushes
Custom brushes
Types of array elements
Value of array elements
Paradox tables
Printing bitmaps
StretchDIBits
StretchDraw
TLockType
Table locks
UnlockTable
Form name property
Lost pointers
I/O error 21
I/O error 3
I/O error handling Delphi 2
Idle method
Modeless forms in DLLs
Delphi active?
Is Delphi running?
Scratchpad
FileList not updated
TDirectoryOutline bug
TFileListBox
Parameterised SQL
TParam
TQuery.Params
MMSYSTEM unit
Multimedia API
Playing sound files
Application terminated
Multi-user
Semaphore files
Sharing files
Focus
Lost caret
Lost text cursor
OnExit
Validation
Custom file open dialog
EInOutError
File open errors
SetErrorMode
TDirectoryList
TDriveComboBox
Trapping Windows file errors
Application.HelpFile
FindClose
Delphi 1
Oracle SQL*NET 2
SQL Links
Window Minimized
wsMinimized
Listbox scrolling
Synchronised listboxes
TListBox
WM_VScroll
Case
GetEnumValue
Strings as Case selectors
DevMode
GetPrinter
Number of copies printed
Paper source
Printer parameters
PrinterIndex
TDevMode
Converting resources 32-bit
DCR file
Unsupported 16 bit resource
DbiDoRestructure
Packing Paradox tables
Replacing controls
DBEdit
MaxLength DBEdit
Lost cursor
Delphi 2 bugs
List out of bounds
TOutline bug
MATH unit bugs
MaxValue bug
MinValue bug
Automatically size DBGrid
DBGRid autosizing
TDBGrid autosizing
DBGRid
Prevent add new record
Form properties
Optimising TPaintBox Paint
TGraphicControl
TPaintBox
TSpeedButton
TWinControl
Read only properties
Restricting property access
Adding Help
Context sensitive help
Help
Disabling notebook pages
Hiding notebook pages
Showing notebook pages
TPageControl
TTabControl
TTabPage
DBF files
DbiPackTable
Packing dBase tables
OnChange event handler
TEdit text
Reading text files as binary
Text files
Form and unit name clashes
Naming forms and units
QBE queries
Query by example
TDBLookUpCombo
TDBLookUpCombo unique values
Using QBE as a TTable source
Calling forms with string
Changing form mode
OnStateChange
Empty fields
Data entry
DataSource
Duplicating previous record
OnDataChange
Shadow tables
Beating The System column
COMMCTL32.DLL
CallProc32W
CallProcEx32
Calling 16-bit code in 32-bi
Calling DLLs
Flat Thunk
FreeLibrary
FreeLibraryEx32
Generic Thunk
GetFocus
GetProcAddress32W
GetVDMPointer32W
GlobalFix
GlobalMemoryStatus
InitCommonControls
KERNAL32.DLL
LoadLibraryEx32
QT_Thunk
TFarProc
Universal Thunk
Win32s
Win95 Progress Bar in 16bit
AssignFile
CloseFunc
Console mode
Debugging utility
FlushFunc
I/O errors
InOutFunc
OpenFunc
Text file device drivers
TextFile
ANSI SQL92 Conformance
Database servers
Domains
InterBase versus SQL Server
SQL Server
Table locking
Temporary tables
Article index database
Avoiding use of Alias
Calculated fields
Data design
Database form expert
Designing database system
Referential integrity
SQL: OR bug?
BoundsChecker 4.0
Delphi 2 debugging
Detecting memory leaks
Memory access checks
NuMega
Pointer checking
Sharing component library
CADET
CASE tools
ObjectWare
Reverse engineering
GetDeviceCaps
Mapping modes
Printing to scale
SetMapMode
WindowsAPI
Neil Rubenkink
Heap memory
HeapCheck
HeapLimit
Memory de-allocation
Memory leaks
CD-ROM
DbiGetSysConfig
Directory lock
Paradox
Multi record objects
TDBCtrlGrid
TDBImage
TDBMemo
BatchMove
Copying index files
Copying tables
Creating index files
TBatchMove
32-bit compiler
Delphi 2 is slow?
New DCU format
New unit file format
DataList
Index files
Audio installed?
WAV audio
waveOutGetNumDevs
Project history list
Auto-increment fields
Key violation error
Cursor
Mouse
GetText
SetText
TDBGrid cell contents
AddIndex
Adding indexes
Invalid Index/Tag name
ixCaseInsensitive
ixCaseSensitive
Capitalise
Masks
TDBEdit
ComboBox
IndexOf
No duplicates in ComboBox
Form coordinates
GetPlacement
DeleteFile in SysUtils
Deleting files
FindClose in SysUtils
Type mismatch error
Free memory
Hiding a taskbar icon
Hiding main window
SetForegroundWindow
Shell_NotifyIcon
Tray icon
Direct BDE calls
Multiple sessions
PARADOX.LCK
PDOXUSRS.LCK
Record locks
Session property
TDatabase.Close
TDatabase.Open
TUpdateSQL
dbiCloseSession
dbiOpenSession
dbiSetCurrSession
dbiStartSession
Ken Henderson
Font sizes for printing
GetLineHeight
GetTextMetrics
Pixels per inch
PixelsPerInch error
Printing reports
Printing: alignment
Printing: device independent
Printing: page margins
TEXTMETRIC
Binary files
Delphi 2 FileMode bug
Displaying Hexadecimal
Editing huge files
Editor
File viewer
Grids
Hex editor
Hex viewer
Paging algorithm
C calling convention
Calling 16-bit from 32-bit
Flat thunk
Free resources
FreeLibrary16
GetFreeSystemResources
GetProcAddress16
GetThreadSelectorEntry
List 16-bit modules
List 16-bit tasks
LoadLibrary16
Locking memory
Memory locks
Quick Thunk
Stack frames
System resources
SystemHeapInfo
Thunk compiler
Thunktion
Universal thunk
WOWGetVDMPointer
File flushing
File mode
Parsing strings
String parsing
SysUtils
ApplyUpdates
Cached updates
CachedUpdates property
Modifying Read Only results
Result sets
TDataSet
UpdateRecordTypes
UpdatesPending property
DLL memory location
ImageBase
FLOAT fields
Floating point inaccuracy
Precision property
Rounding errors
BLOb SubTypes
BLOb segments
Escape
Printer driver PassThrough
Raw printer access
SpoolFile
Writing direct to printer
Dynamic
Dynamic method table DMT
Early binding
Late binding
Override
Polymorphism
Virtual
Virtual method table VMT
Identifying Windows 95
Identifying Windows NT
Identifying platform
Creating modal forms
Directory exists
DirectoryExists
Network directory exists
Networking
Execute DOS program
Execute and wait
BLOB has been modified error
Flush database
OnAfterPost for TTable
dbiSaveChanges
DBGrid cell custom format
DefaultDrawDataCell
Highlight DBGrid cells
BDE date format
BDE system status
BDE.INT
CursoPosChanged
DBTYPES.INT
Database handle
Database property
IDAPI objects
IDAPI record structure
Locking
Multi user
Private directory
PrivateDir property
Record number
Record number component
Sequence number Paradox
TTable MoveBy
TTable Refresh
Table cursor position
Temporary TDatabase
UpdateCursorPos
dbiDateDecode
dbiExit
dbiGetCursorProps
dbiGetNetUserName
dbiGetNextRecord
dbiGetRecord
dbiGetRelativeRecord
dbiGetSeqNo
dbiGetSysInfo
dbiGetSysVersion
dbiGeySysConfig
dbiInit
dbiLockType
dbiOpenDatabase
dbiSetDirectory
dbiSetPrivateDirectory
dbiSetToRecordNo
dbiSetToSeqNo
Cascading exceptions
Creating new error class
Error messages
Dataset filtering
Delphi 2 client/server
Delphi 2 data dictionary
FilterOptions property
Filtered property
Filtering records
Find and Find Next
FindLast
Incremental searches
ModifySQL property
OnFilterRecord event
OnUpdateRecord event
Searching with filters
UpdateKind
Dialog/form validation
Edit masks
EditMask
Field validation
OnValidate
Record validation
Table validation
ExpIntf
Expert to build experts
Open Tools API
Proxies
Proxy
ToolIntf
Beating The System
Compression
Help compression
Help file
Length/distance encoding
Sliding window compression
Windows Help file format
AddIn Experts
BERT
DLL experts
Delphi 2.0
EXPTINTF
Error report database
Error report expert
Error tracking
TOOLINTF
Under Construction
InfoPower 2.0
Steve McConnell
TDBedit
Validating multiple controls
Enumerated type as string
TypInfo
Assembler generation
CPU level debugging
Registry
/NS on command line
No Delphi 2 splash screen
Mouse events all controls
OnMouseMove
Exported functions
Smart callbacks $K directive
OLE Server default property
OLE dispatch ID
Call 16-bit code in 32-bit
Thunking with no assembler
Exit procedures
Finalization
Unit finalisation
Unit initialisation
DT_WORDBREAK
DrawText
Word wrapping
Correlated subqueries
Data processing
Duplicate values in rankings
Ranking data
Ranking multiple sequences
SQL AVERAGE
SQL SELECT
SQL SELECT DISTINCT
SQL nested SELECT
Subqueries
Cutomising grid cells
Drawing grid cell text
ExtTextOut
Grid cell text alignment
Merging grid cells
Mouse handling in grids
Multiple select grid cells
Sorting text grids
Splitting grid cells
TDrawGrid
Text grids
Text in TDrawGrid
Default form
Form components in Delphi 1
Re-using forms
Bookmarks
Deleted records
Deleting all records
Emptying table
Enhanced TTable
Flushing database changes
GetBookmark
GoToBookmark
IDAPI cursor properties list
Maintained index
Non-maintained index
Open tables count
Packing tables
Paradox field privileges
Paradox table passwords
Paradox table privileges
Rebuilding indexes
Renaming tables
Shared or exclusive table
TBookmark
TIndexDef
TTable enhancements
Table cursor properties
Table indexes
Table passwords
Table rights
Transaction handling
Un-deleting records
bBookmarkStable
bDeletedOn
dbiCompareBookmarks
dbiDoRestructure
dbiEmptyTable
dbiGetBookmark
dbiGetIndexDesc
dbiGetTableOpenCount
dbiGetTranInfo
dbiIsTableShared
dbiOPENSHARED
dbiREADONLY
dbiRegenIndex
dbiRegenIndexes
dbiSetProp
dbiUseIdleTime
dbipackTable
eOpenMode
Deleting directories
Deleting directory tree
Finding files
Recursion
Recursive programming
Searching for files
$APPTYPE CONSOLE
Component debugging
Component testing
ComponentState
Console applications
Delphi 2 and NT 4.0 beta
Design
Design, run time behaviour
Detecting design time
Detecting run time
Error 202 in COMPLIB
Log files
Naming conventions
Object oriented design
Stack overflow
Testing
Windows NT 4.0
cdDesigning
reAct component debugger
Banding
DC_DRIVER
DeviceCapabilities
DeviceCapabilitiesA
DeviceCapabilitiesEx
DeviceCapabilitiesW
GDI32
Getting printer information
Printer bins
Printer drivers
Printer fonts
Printer information
Printer paper size
TrueType font support
WINSPOOL.DRV
Beating the System
Decompress help files
Format disk
Help phrase file
Windows Help File format
Performance enhancement
TList in database apps
SysTools
System functions
TurboPower Software
Delay
Sleep
Application window position
Initial window position
Position property
Positioning windows
Window location
Halt
ShowMainForm
Change exception handler
Default exception handler
Recompiling VCL
Unit caching
VCL
DISP_E_UNKNOWNNAME
OLE Errors Windows 95
OnTimer
Windows95
Modal forms
Descending from TDBNavigator
TDBNavigator button click
Laptop battery status
Power management
Grow
ReadFromFile too slow
SetCapacity
TStringCollection
Pointer notation
^ operator
Case constructs
Compiler optimisation
Large Delphi 2 EXE files
Memory use
OLEAUT32.DLL
File exists
FileExists problem
TTabSheet
One Last Compile
Dynamic data types
Garbage collection
Invalid variant operation
TVarData
Variant arrays
Variant type
Variants and databases
Variants in expressions
Book review
Davis Chapman
Internet
Inherited
Overrride
Character set
DBITYPES
Database language driver
Exclusive property
IDAPI logical field types
In-memory tables
LOCKS in-memory table
Lock retry period
Number of open table cursors
dbiAnsiToBNative
dbiCreateTempTable
dbiGetPriorRecord
dbiIsRecordLocked
dbiIsTableLocked
dbiNativeToAnsi
dbiOpen... functions list
dbiRelRecordLock
dbiSetLockRetry
dbiSetToBegin
dbiSetToEnd
Browser
CGI
CGI database applications
Common Gateway Interface
Environment variables
Generating HTML
HTML
HTML forms
ISAPI
Internet applications
Intranet
NSAPI
Paradox field types
WinCGI
World Wide Web
C++
C++ classes in Delphi
COM
Component Object Model
Event handlers in C++
Fastcall calling convention
OWL classes in Delphi
Pascal calling convention
VTBL
Virtual function table
Virtual method table
Greg Lief
John Kaster
Loren Scott
Ted Blue
Advanced SQL
CASE statement in SQL
Cross tabulations
Frequency distributions
Hierarchical data
Outline
SQL CASE
SQL data processing
SQL: COALESCE
CAB file format
CABVIEW
CLSID
Context menus
Explorer
Object-Site Shell Suite
REGEDIT
Registry files: importing
UUIDGEN.EXE
MK Query Builder
Memory Sleuth
Scrollbar TDBGrid
Picture validation
Coordinates
Moving the mouse cursor
Screen and form coordinates
SetCursorPos
Combobox
DroppedDown
Dropping combobox
Setting DBGrid row height
FieldAddress
Generic field access
HelpContext
Change table password
Paradox passwords
Table passwords: setting
CreateForm
Form creation
GetUserName
Login name
Network user name
User name
WNetGetUser
Windows user login name
Boolean
Boolean fields
Changing boolean display
Freeing memory
Showing modal forms
Clipboard formats
Rich text on the clipboard
Event handling
Event sequence
Flow of events
OnCloseQuery
TFDD
FastCGI
Standard CGI
URL encoding
World wide web
RTTI for classes
RTTI for cursors and colours
RTTI for enumerated types
RTTI for method pointers
RTTI for ordinal types
RTTI for properties
SortPropList
TYPINFO.PAS
Bitmap manipulation
Gradient fills
HPrevInst
Off-screen drawing
Screen savers
Single instance of program
Audit trail
Data modules
Login
Login manager
Logon
Password control
Artificial intelligence
Backward chaining
Disk full error with Delphi
Expert systems
Forward chaining
Inference engine
Knowledge based systems
Rule based systems
Case statement
Code generator
Format routines
Get-Set procedures
Machine code
With statement
ActivateHint
CM_TEXTCHANGED message
Custom hint shape
Hint window
HintWindowClass
Hints in status bar
OnHint
Pipe character in hint (|)
ShowHint
THintWindow
ToolTip window
ToolTips
ERROR_SHARING_VIOLATION
FileMode bug Delphi 2
SYSTEM unit bugs Delphi 2
_ResetFile
Making forms system modal
SetSysModalWindow
Stop application switching
CreateProcess
ERROR_BAD_EXE_FORMAT
GetLastError
Getting error message text
SysErrorMessage
Executing external program
GetModuleUsage
ShellExecute
ShellExecuteEx
WaitForSingleObject
Waiting for launched program
Atoms
Detecting previous instance
GlobalAddAtom
GlobalDeleteAtom
GlobalFindAtom
Semaphore API
Boyer Moore
Memory mapped files
Patch programs
Patching EXE files
Searching a buffer
Text searching
Virtual memory manager
Drag and drop component
DragFinish
FindDragTarget
WM_DROPFILES message
Listbox keyboard commands
Creating WAV files
MCISendCommand
TWaveHeader
Callback threads
Database applications
Multi-Threading
Priority of threads
Spinning cursor
Synchronize threads
TThread
Threaded TDatabase
Threaded database apps
Threads
One last compile
BDE on NT Server with NTFS
CGI component
Exceptions and console apps
Ray Lischner
Certainty factors
Factbase
Knowledge-based systems
Rule-based systems
Rulebase
Delphi's code generator
ExceptList
Get-Set routines
Nested procedures
With statements
try-except blocks
try-finally blocks
Accessing resources
CloseHandle
CreateEvent
CreateFileMapping
CreateMutex
CreateSemaphore
Data sharing between apps
Event objects
Kernel objects
MapViewOfFile
Mutex objects
ReleaseSemaphore
ResetEvent
Semaphore objects
SetEvent
Shared memory
Signalling
UnMapViewOfFile
WaitForMultipleObjects
Win32 API
Changing passwords
Expired passwords
Password management
Tracking uncuccessful logins
Data loss
Fixing Paradox tables
Local Share
Lost records
Paradox table corruption
Peer to peer networks
TUtility
VSHARE
Windows for Workgroups
Debugging DLLs
Debugging components
Debugging experts
Workgroup menu, removing
Indexing
Unique index keys
Unique key values
4-digit year in dates
Date records
Millenium bug
Year 2000
Bit manipulation class
Fake classes
Version information in EXEs
3D MDI Window borders
3D Window borders
WS_EX_CLIENTEDGE
Window style bits
Drive list
File search on all drives
Valid drives
32-bit DDE
Adding icons
Creating groups
DDE macro commands
DDE parameter packing
DDEML
Dynamic Data Exchange
PROGMAN
Porting strings to 32-bits
Program Manager
WM_DDE_ACK
WM_DDE_DATA
WM_DDE_EXECUTE
WM_DDE_INITIATE
WM_DDE_REQUEST
WM_DDE_TERMINATE
Windows environment
AddFontResource
CreateScalableFontResource
Dynamic fonts
FOT and TTF files
Font resources
GetTempDrive
GetTempFileName
GetTempPath
Installing fonts
Loading fonts
Locating TEMP directory
Naming temporary files
RemoveFontResource
Temporary files
TrueType fonts
Uninstalling fonts
Unloading fonts
WM_FONTCHANGE
COMCTL32.DLL
COMMCTRL unit
Common control style flags
CoolBars
CreateWindowEx
InitCommonControlsEx
MoveWindow
ToolBarWindow32
Windows Common Controls
Add components at run time
Application modal forms
Application.MessageBox
Automatic word breaks
Beeps and sounds
BorderIcons property
Calculate dialog size
Centre form on screen
Centre form over application
Create form at run time
Creating glyphs
Cursor handling
Custom message boxes
DT_CALCRECT
DT_NOPREFIX
Disabling System menu items
Font sizing
Glyphs in video driver
Include & in text
Message boxes
Message dialogs
MessageBeep
MessageDlg
MessageDlgPos
Quick beep
RemoveMenu
ShowMessagePos
Space needed by text
System modal forms
Text rectangle
Joseph D Booth
Changing database at runtime
Changing server at runtime
Multiple databases
Overriding database
Overriding server
TDatabase.AliasName
$M compiler directive
Calculating free DOS memory
Calculating memory use
Data segment
GetFreeSpace
Global heap
Local heap usage
Memory management
Setting stack size
Stack usage
Windows heap
Windows task database
One last compile...
Convert method to function
Creating machine code
Executable memory
Executing memory
Hidden Self variable
Inserting into stack
Intel machine code
Manipulating  the stack
Object methods
OpCodes
PAGE_EXECUTE_READWRITE
Register calling convention
Scanning a directory
VirtualAlloc
VirtualFree
Column headers
Self--sorting columns
Sorting columns
SysHeader32
SysListView32
THeaderControl
TListView
Windows Explorer
Clearing contents of TImage
Freeing TImage resources
Bitmap property editors
Storing bitmap in form file
Storing image in form file
TPicture
Edit mask bug
TEditMask bug and fix
Symbol information
Using Object Browser
Implementing a splitter
Splitter component
TSplitControl
Keep watch window on top
Keep window on top
Stay on top watch window
Index keys
Update from Issue 17
Single instance
Update from Issue 16
HideEditor
TDBGrid Columns property
TDBGrid bug Delphi 2
WM_HSCROLL message
Free an object
FreeObject
Set object pointer to nil
Property read/write fields
Bug in Delphi 2 ComboBox
ComboBox bug
SelLength in TComboBox
SelStart in TComboBox
Delphi 2 for loop bug
Generating compile date
GetEnvVar for Delphi
PATH
DCL files
Selecting component library
Book Review
Nathan Wallace
Steve Tendon
C++ Builder
C++ and Pascal
C++ language basics
C++ operators
C++ switch statement
Open arrays in C++
RTTI in C++
Sets in C++
Variants in C++
Debugging CGI apps
HTML browser
Internet Solutions Pack
NetManage ActiveX controls
URLs for local files
Under Construction:
Web browser
Internet Information Server
Microsoft IIS
Server callback functions
Web server APIs
Web server extensions
CoInitialize
CoUnInitialize
Desktop folder
Explorer COM interfaces
IShellLink
Shell API
Shell link bugs
Shell links
Shortcut description bug
Shortcuts
Windows NT 4
Asynchronous communications
Baud rate
COMM.DRV
CTS/RTS flow control
Comm lines status
Convert data to bit stream
DTR/DSR flow control
Device control
Dial
Flow control
Hang up
Hardware flow control
IRQ and Base I/O address
Parity
Serial Data Unit SDU
Serial cable
Serial comms errors
Serial communications
Serial port
UART chip
Windows comms API
Windows serial comms class
Windows serial comms driver
One Last Compile...
Adding users
Database administrator
Password administration
RDBMS API
User administration
User security
Anchor-P Copy Protection
BL Computer Security
Copy protection
Dongle
Review
Security Key
Multiple entries in taskbar
Start program minimised
Start program minimized
Taskbar
Window startup mode
Class not registered
DLLRegisterServer
EOleError
Installing OCX controls
OCX Deployment
Oracle 7.2
Oracle packages bug
SQL Links 3.5
File finding
Search for a file
Search for and act on files
Application.ProcessMessages
Eating key presses
Eating mouse clicks
CreateForm wrongly declared
Delphi Help file errors
Help links broken
HintHidePause property
HintMouseMessage
HintShortPause property
TApplication missing events
TApplication.CreateHandle
TApplication.HideHint
TApplication.Initialize
TApplication.ShowMainForm
UpdateFormatSettings
Custom memory manager
GetMemoryManager
Heap checker unit
Heap checking
Install memory manager
SetMemoryManager
TMemoryManager
Combo box helpers
Filling DBLookupCombo
Filling TDBComboBox
BeforePost event
Required fields, null values
3D captions
Active button
Beating the system
Button with popup menu
Capturing mouse activity
Component development
Controls with window handle
Cool button
CoolBar
Creating disabled glyphs
Explorer button component
Flat buttons
Internet Explorer
MouseCapture
Rebar
TTimer needs window handle
Transparent colors
$DenyPackageUnit
$DesignOnly
$ImportedData
$RunOnly
$WeakPackageUnit
Asian language support
Assertions
BDE 4 with Dephi 3
BDE administrator
BLOb caching
Business insight
CPU window
Code completion
Code insight
Code parameters
Code templates
Component templates
Creating ActiveX controls
Decision Cube
Delphi 3 IDE
Delphi 3 and databases
Delphi 3 compiler directives
Delphi 3 preview
Distributed datasets
EnableCPU in Registry
Explorer style buttons
Expression evaluator
ISAPI, ISAPI2
JPEG support
Mutex
New Delphi 3 componments
Package collections
Packages
Resourcestring
Semaphores
String resources
TAnimate
TChart
TCheckListBox
TCoolBar
TDBRichEdit
TDataSet Delphi 3
TDateTimePicker
TDecisionCube
TDecisionGrid
TOpenPictureDialog
TProvider
TSavePictureDialog
TSplitter
TStaticText
Win32Check
WinINET
DECLARE EXTERNAL FUNCTION
DROP EXTERNAL FUNCTION
Date fields in Interbase
Interbase and Delphi types
Interbase built-in functions
Interbase datatypes
Linking DLLs to Interbase
Reading Interbase BLOBs
Strings in SQL
Surviving client/server
User-defined SQL functions
User-defined functions
Concurrent programming
Creating threads
Dining philosophers problem
Multi-tasking
Multi-threading
Multi-threading in VCL
Mutli-threading efficiency
TThread.Execute
TThread.Synchronize
Terminating threads
Thread class expert
Thread priority
Thread-safe VCL
CreateWnd
DestroyWnd
Dialog measurment units
GetDialogBaseUnits
Graphics in ListBox
Horizontal scrollbar listbox
Non-text items in ListBox
Owner draw ComboBox
Owner draw ListBox
Owner draw controls
RecreateWnd
Saving listbox contents
Scrolling listbox
Tab characters in ListBox
TabStopSupport
lb_SetHorizontalExtent
lbs_SetTabStops
lbs_UseTabStops
Async Professional
Cache
Cached calendar
Cached combo box
Data caching
File modes using streams
Delphi 2 help files
Delphi 3 help files
Sending messages
TCheckBox
Trapping keypresses
Windows message handling
cm_WantSpecialKey
cn_KeyDown
wm_GetDialogCode
wm_KeyDown
Components in DLLs
Calling external programs
Executing external programs
ShellExecuteEx not for WinNT
CMOS access
Calling 16-bit DLLs
Device drivers
Direct access to ports
Hardware access
Port access in 32-bit
Port and PortW
Avoiding global variables
Creating forms at runtime
CREATE PROCEDURE
DROP PROCEDURE
Installing stored procedures
Managing stored procedures
Active property not saved
Re-opening closed datasets
Mutliple table handles
Table cloning
BDE Paradox driver bug
BLOB fields of size zero
CreateTable
Creating Paradox tables
dbiTranslateRecordStructure
Initialized variables
Active insight
ActiveForms
COM Classes
Calling conventions
Class Identifier (CLSID)
Class factories
Class interface
ClassIDToString
CreateOLEObject
DCOM
Delphi 3
Distributed COM
Dual interface COM object
EIntfCastError
Entera
GuidToString
IDispatch
IUnknown
Interface ID (IID)
Interface querying
Interface reserved word
Multiple interfaces
OLE
OLEnterprise
Open Environment tools
StringToClassID
StringToGuid
TAutoObject
TComObjectFactory
TComServer
TDatasetTableProducer
TGUID
TInterfacedClass
TInterfacedObject
TPageProducer
TQueryTableProducer
TWebDispatcher
Type libraries
Virtual method table (VMT)
Web server applications
coclass
safecall
Ace Reporter
Delphi reporting tools
Digital Metaphors
Nevrona
Piparti Pro
QDS
QuickReport
Report Printer Pro
Report components
Report writing tools
SCT Associates
Shazam Report Wizard
Shazam Ware
Creating Wizards
Interface guidelines
ShareMem Delphi, C++ Builder
Wizard expert
Wizard interfaces
Wizards for C++ Builder
Database server load
Network server traffic
Oracle 7
Oracle V$SQLAREA table
Performance tuning
Prepare
Preparing SQL queries
Reducing server memory use
Server performance analysis
Static and dynamic SQL
ExtractIcon
Extracting resources
Resource tables
Resource types
Resources in DLLs and EXEs
Windows NE file format
Windows New Exexcutable
Delphi 2 internet controls
NetManage TCP ActiveX
Networks
TCP/IP binary data transfer
Using ActiveX controls
CanSelect property
Making cells non-selectable
OnSelectCell
Prevent cell highlighting
Selecting StringGrid cells
goRangeSelect
ReleaseHandle
TComboBox drop down width
cb_SetDroppedWidth
Polymorphic procedure calls
Procedural variables
Procedure types
Avoiding huge result sets
Interrupting SQL queries
SQL MAX ROWS
Dectecting Windows version
Detecting Windows 95
Detecting Windows NT
Determining Windows platform
GetVersion
Getting Win32 build number
Win32Platform
Mouse handling
Trapping double clicks
Unwanted double clicks
SetLocalTime
Setting system date and time
No edit control input caret
OnExit event handlers
TWebBrowser
Exceptions in QuickReport
Vertical fonts QuickReport
Accelerator keys at runtime
Assigning accelerator keys
Setting accelerator keys
DiskFree
DiskSpace
Drives over 2Gb
Free disk space
Filename without extension
Add resource file to EXE
Binding in resources
Error addresses
Error location
Execution order
Include files {$I}
Line number at runtime
Locate errors at runtime
MAP file errors
MAP file format
Order units executed
Public symbols
RC_DATA resources
RTLI
Resource compiler
Runtime location information
Auto-repeating buttons
Changing component owner
Changing component parent
Colored buttons
Coloured buttons
Custom buttons
GetParent
GetWindow
Notification messages
OnDrawItem
OnMeasureItem
Owner component
Owner draw
Owner window
Parent component
Parent window
TButton
Window creation
cn_Base =  $2000
cn_CtlColorBtn
wm_CtlColorBtn
wm_MeasureItem
ws_Popup window style
ws_child window style
ws_overlapped window style
Active forms
Active forms and VB4
ActiveForm Wizard
ActiveForms and VB4
ActiveX, Internet Explorer
Code signing
Deploying ActiveForms
Deploying ActiveForms on Web
DllRegisterServer
Dynamic ActiveForms
IClassFactory
OCX
Accurate delays
Accurate timing
Application profiling
Bios timing
Clock tick
Delay in Borland Pascal
Hardware timer
High-accuracy timing
Interrupt 2F
OpTimer from TurboPower
Profiler
Profiling with oscilloscope
Profiling with printer port
QueryPerformanceCounter
QueryPerformanceFrequency
TTimer
Timing
Virtual timer device VTD
16-bit resources
Bitmap file format
Bitmap resources
GROUPICON resource
Icon file format
Icon resources
Resources in EXE and DLL
TBitmapInfoHeader
Writing bitmap files
Writing icon files
Actionable information
Atomic values
Client/server design
Data normalisation
Data normalization
Database design
Declarative constraints
First normal form
No repeating groups
Null values in tables
Open/closed architecture
Relational  database design
SQL DEFAULT
SQL NOT NULL
SQL domains
SQL user defined data types
Second normal form
Third normal form
Data compression
SPIS New Zealand
TCompress
Lingscape
Multilingual applications
Multiple languages
TMultLang
SDI applications
SDI menu problems
Drag and drop onto TMemo
Locating TMemo input caret
TMemo
Coordinating TSplitters
Multiple TSplitter
Minimising Delphi apps
Minimizing
16-bit and 32-bit local SQL
Infopower QBE component
Query execution speed
SQL queries too slow
Unique log files
Using TStream for a log file
Validate bitmap file
Validating TBitmap
Closing DOS program window
command.com /c
sw_ShowNormal
Design time help
Accessing notebook pages
TTTabbedNotebook
TTabSet
QuickReports band layout
Multiple detail fields
QuickReports
Sizing and placing fields
Code parsing
Convert Pascal to HTML
Convert project to HTML
Lexical analysis
Parsing
Parsing source code
TParser
Wizards & experts
$IMPLICITBUILD
$IMPORTEDDATA
$RUNONLY
CAB file compression
Code signed packages
Compiler directives
Creating packages
DCP files
DPK files
DPL files
Deploying packages
Design time packages
Distributing packages
Install package collection
List of packages in Delphi
Package collection editor
Package versioning
Runtime packages
requires
AddTerminateProc
Application.Terminate
DLL LibMain
DLL WEP
DLL entry point
DLL exit point
DLLEntryPoint
DLLMain
DLLProc
Form drawing completed
InitProc
Initialisation procedures
Package exit procedure
Program entry point
Program exit point
Shutdown
Startup
Unit entry point
Unit exit point
finalization
wm_QueryEndSession
Case study
Credit payments
InterBase generator
Component suites
Creating components
Event list component
Linking components
Sharing events
32-bit disk access
Default properties
Delimited string class
Delimited strings
Disk serial numbers
History list
History list unit
INI files
MRU list
Multiple constructors
Parsing delimited strings
TStrings.CommaText
Text parsing
Windows Registry
Changing system fonts
Font styles
GetSysColor
GetSysFont
LOGFONT structure
SPI_GETNONCLIENTMETRICS
System font colors
System fonts
SystemParametersInfo
TLogFont
Window caption width
Algebra
Calculations
Equations
Expression handling
GetComponentProperties
Maths
Sub-properties
Custom message dialogs
Message dialog buttons
CRITICAL_SECTION
Critical Sections
EnterCriticalSection
TRTLCriticalSection
Bring component to top
Bring window to top
TDBLookupComboBox
TPopUpGrid
Database search
Locate with multiple fields
Help file contents page
Application launcher
FindWindow
Finding running applications
Microsoft office manager
Switching to running app
BringWindowToTop
Restore minimised program
Execute methods by name
QuickReports images and dots
Delphi 3 hints bug
Compiler hints and warnings
Delphi 2 bug
Delphi 3 bug
TMemo line and column
Building internet apps
CGI and WinCGI
IntraBob CGI debugger
TDataSetTableProducer
TWebApplication
TWebRequest
TWebResponse
Web modules
Bitmap transparency
Bitmaps on menus
Custom menu items
Glyphs on menus
Owner draw menu items
TMenuItem
Credit payments case study
Grid data changes
Master-detail-detail
OnSetEditText
Creating NT services
Installing NT services
Registering NT services
Service Control Manager
QuickSort
Sorted TList
ZIP file contents
ZIP file format
Assembly view Delphi 2
Class traps
Free
FreeInstance
Hooking functions
Hooking object creation
Hooking object destruction
Memory protection
NewInstance
Object construction
Object destruction
PAGE_EXECUTE_READ
PAGE_READWRITE
TClass
TVmt
VMT
_ClassCreate
_ClassDestroy
BDC 1997
Borland Conference 1997
Nashville conference 1997
Borland conference 1997
Communications components
Email
Fax
ISGMAPI 2.0
Infinity Software Group
MAPI
MS Exchange
Colour bitmaps
Making a 256 colour bitmap
Palettes
TLogPalette
Typed TObject bug Delphi 2/3
MessageDlg buttons
BCD fields
ENABLE BCD in BDE
Personal Oracle 7.3
Iconic applications
Non client area
Start app as icon
Start app minimised
wm_NCCreate
wm_QueryOpen
Modifying form files
BDE Version Incompatibilitie
BDE versions 3 and 4
Multiple primary indexes
Table creation
Comma delimited strings
Storing user settings
Storing window position
Storing window size
Just file extension
BDE replacements
Borland Database Engine
Custom dataset components
Interfacing to databases
Replacing the BDE
TBDEDataSet
CombineRgn
CreateEllipticRgn
CreatePolygonRgn
Creating window regions
Custom window shapes
Custom window titlebar
Non-rectangular windows
SetWindowRegion
SetWindowRgn
Win32 drawing functions
Windows with holes in
CGI applications
Credit card validation
ECommerce
Online sales
SSL
Secure server
Secure web transactions
Web applications
Web browser security
Web commerce programs
WebHub
Deleting a file tree
Detecting available drives
File finder utility
Long file names
Regular expression handler
Searching inside zip files
Wildcard file matching
Cookies
Dynamic queries in web apps
Hidden HTML form fields
NSAPI and ISAPI
Saving state
ENABLE SCHEMA CACHE
Index design
Locate method
SQL passthrough
SQL searching
SQLPASSTHRO MODE
SQLQRYMODE
Server tuning
Stored queries
Synchronize
Transaction control
Creating a GUID
GUID Generation
Globally unique identifier
ReportSmith
TReport and Delphi 3
C++ static keyword
ClassName
Static class data
Unicode
WideString and Caption
WideString and Text
Win32s not supported Delphi
Command line compiler
Accessing components by name
FindComponent
Pixel colours changing
TransparentColor
Copying string lists to the
Exposing field name
Getting field name
Creating TStringList
Increasing TStringList size
Large string lists
Setting TStringList size
Program and data versions
Upgrading data utility unit
Accented characters
Broadcasting messages
CallNextHookEx
Compose key
Computer based training hook
Delphi shared memory manager
Examining messages
Extended characters
Foreign language characters
HWND_BROADCAST
Hooking Windows events
Hooking mouse events
Keystroke handling
Message record/playback
Multiple instances of DLLs
OnKey... events
RegisterWindowMessage
SetWindowsHookEx
ShareMem unit
Tray icon applications
Types of Windows hook
UnhookWindowsEx
User defined messages
Virtual key codes
WH_JOURNALPLAYBACK
WH_JOURNALRECORD
WH_KEYBOARD hook
WM_TranslateKeys
Windows hooks
Windows memory mapped files
Custom TDataSet
Data-aware components
Database access
Defining fields
Non-BDE database access
Null values
Simple data dictionary
TField component
TFieldDef
GIF file format
IP address of surfer
JPEG files
MIME headers
TJPEGImage
Website hit counter
Website log files
32bit common controls
Custom notebook controls
Custom page controls
Owner drawn controls
Page control with bitmaps
Drawbridge API
Portcullis
Shoreline Software
Web solution builder
Checking DLL usage
DLL import data
EXE file format
RVA
Relative virtual address
TDump
Which DLLs are required?
Which packages are required?
Direct3D graphics
DirectX 3D graphics
Retained mode
Data aware controls
Data aware date picker
Date/time picker
TFieldDataLink
Components on clipboard
Custom clipboard format
Multiple clipboard formats
Disappearing aliases
IDAPI32.CFG
Changing month
Number of days in month
Making VCL changes
Modifying compiled component
VCL changes without source
Menus and notebooks
Notebook menu merging
TMainMenu
RT_VERSION resource
Reading version information
TVSVersionFileInfo
VerQueryValue
Version information
VersionInfo resource
Starting projects via DPR
Form components
Form KeyPreview property
Keybd_Event
Navigation with cursor keys
Synthesising keystrokes
Delimited text
Parsing words
Update: more delimiter tools
Modify file extension
ANSII
AnsiCompareStr
Character encoding
Character sets
Collation order
CompareStr
CompareString
Comparing strings
DOS Code page
High-ascii characters
Ligatures
OEM character set
Windows character set
country.sys
display.sys
Crosstabulation
Data analysis
Data mining
Decision cubes
Decision support
TDecisionGraph
TDecisionPivot
TDecisionSource
Broken website links
HTML links
HTTP protocol
InternetCloseHandle
InternetConnect
InternetOpen
Local and remote link checks
Parsing HTML files
WININET.DLL
Web apps
Windows internet functions
Application object
Archaeopteryx
Chained event handlers
Customising Delphi 3
Delphi 3 IDE enhancement
Delphi 3 add-ins
Event chaining
Fake onclick events
Merlin
Multiline component palette
NT memory leak
Raptor
Shortcut
T-Rex
TextToShortcut bug
Window styles
$WEAKPACKAGEUNIT
Finding units in EXE files
GetPackageInfo
PACKAGEINFO resource
UpdateResource
Which packages used
Which units used
Executable version
GetFileVersionInfo
GetFileVersionInfoSize
Getting version information
Class hierarchy
Control tree
Controls and components
Disabled controls
Finding controls
Graphic controls
Mouse over control
Non-visual components
Parent and child controls
Sibling controls
TComponent
TControl
Visual components
WindowFromPoint
Windowed controls
Wrapper controls
TDirectoryListBox
UNC drive names
DiskFree and NT 4
Drives over 3Gb
Calling into DLLs
DLL calls
BorderIcons
Context Help
Context sensitive Help
Window border buttons
Getting Access table names
Extracting forms from EXEs
ObjectResourceToText
convert.exe
DLL import table garbled
QuickView
FormatMessage
Win32 API error codes
EnumChildWindows callback
SetParent
Loading projects in Explorer
Const parameters
Passing Interfaces
Color property editor
Colour property editor
Component property editor
DbiDoRestructure wrapper
Restructuring tables
Component parent and child
EN_CHANGE
Enhanced memo component
GetProp
SetProp
TurnOnSubclassing
WNDCLASS structure
WNDPROC
Window classes
Window procedure
WindowProc
Metaphone
Phonetic matching
Soundex
Text matching
Surviving SQL
$ASSERTIONS ON
$C+ compiler directive
Assert in Delphi 1 and 2
Assert in Delphi 3
Assertions and exceptions
Debug version
Source code line
Under construction
ActiveX
COM programming
Dynamic data exchange
GUIDs
Globally unique identifiers
Interface inheritance
Interfaces
Microsoft GUIDGEN
Object linking and embedding
QueryInterface
Delphi 3 web components
GET and POST request methods
HTTP
HTTP status codes
ISAPI and NSAPI
MIME
TCGIApplication
TWebActionItem
Web server
WebDispatcher
WebModule
WebRequest
WebResponse
3D graphics
GLAUX OpenGL library
GLU32.DLL
OPENGL32.DLL
OpenGL graphics programming
Photo-realistic rendering
Issue 27 update
Units compiled in EXE
Next page
Obtain page to be changed to
TPageControl.OnChanging
Deleting components
Hiding components
Removing components Delphi 3
Build number
CreateMessageDlg
Message dialog caption
MessageDlg caption
BLOB SIZE in BDE
BLOB fields
BLOBs larger than 32Kb
SQL Server blob size
Change table language
Paradox table language
Table restructuring
Check if EXE is running
Process handles
Delphi desktop file
Delphi project files
Opening projects
TEdit undo
Undo handler
Undo in Edit controls
Undo programmatic changes
COM and DCOM
Custom interface classes
Interfaced classes
Form width and height
Limiting form width & height
WM_GETMINMAXINFO
Masked string matching
MatchesMask
String matching
TMask class in Delphi 3
Cell coordinates
DBGrid current cell position
DrawDataCell
Horizontal scrollbars
Scrollbars on ListBox
Find oldest and newest files
Unique filename
CopyRect
GroupBox canvas
Painting on a GroupBox
HelpContext radio group
Make radio group active
Custom DBEdit control
Insert and overtype toggle
Cursor key navigation
SelectNext
Fields editor at runtime
Buttons push themselves
TButton to press itself
COMPLIB.DCL contents
Component palette icons
Current time in Delphi IDE
DOS date/time format
Delphi IDE add-ins
Delphi IDE customisation
Delphi IDE dialogs
Delphi IDE internals
Delphi base registry key
Delphi main window handle
Delphi path & exe name
DelphiIDE variable
Form designer
Form designer options
GetAppHandle
GetBaseRegKey
GetBaseRegistryKey
GetCurTime
GetPathAndBaseExeName
LibHelp unit
LibIntf unit
LibMain unit
LockState
Locking controls in designer
Proxies unit
Size location Delphi window
TIDelphiIDE
TILibAppBuilder
TILibrary
TInterface
TLHelp32 unit
VCL30 package has LibIntf
Buffered file stream
Code profiling
File buffers
Streaming
Binary tree
CGI support unit
Keywords
Local search engine
Reading binary tree
Storing binary tree on disk
Text indexing
Website indexing
Website search engine
Writing binary tree to file
AND OR NOT NEAR searches
Creating a text index
Indexing memo fields
Indexing text in SQL
Phrase matching
Scanning memo fields
Searching for phrases
Searching memo fields
ActiveX security problems
BDE in ISAPI applications
Bugs in CGI Delphi classes
Client-side form validation
Configuring NSAPI
Configuring webservers
Debugging web applications
HTTPAPP unit
Hidden form fields
Local webservers
Netscape FastTrack 2.0
O'Reilly Website Server 1.1
Saving state in web apps
Set-Cookie
TISAPIApplication
URL encoding and decoding
URL redirection
Updating ISAPI DLLs
Validating HTML forms
Validation with Javascript
Validation with VBScript
Webserver software
Webserver status codes
COM aggregation
Class factory
CoCreateInstance
Context menu handler
IContextMenu
IIDs
IMalloc
IShellExtInit
IUnknown interface
Internals of COM calls
REFIIDs
TComObject
Connecting to SQL Server
KeepConnected
SQL Server cursors
Converting float to string
Converting integer to float
FloatToStrF
Format (text)
FormatFloat
Number formatting
Casting single to longint
Destroy or Free
Destroying objects
SLIB directory
CreateNew
Form constructor not found
Resource TForm not found
ActiveX wrappers
Installing ActiveX
MS Web Browser ActiveX
Converting database to HTML
Database cross-referencing
Generating HTML for database
Parser
Parsing source code files
Publishing database as HTML
Scanning files
Sorting and searching
Source code cross reference
Source code indexing
Translate Pascal to HTML
Collision resolution
ELF hash
Hash collisions
Hash functions
Hash tables
Hashing
Linear probing
Normal distribution
Poisson distribution
Search algorithms
Searching and indexing
TStringList limitations
Binary trees
HTML meta tags
Searching  with AND OR NOT
.REG files
CLSIDFromProgID
COMOBJ unit
Context menu
Context menu registration
Creating GUIDs
GUIDs and CLSIDs
MS Word Basic
Microsoft Word
PROGID
ProgIDToClassID
Source viewer
TContextMenu
Viewing files in Explorer
Word.Basic registry key
Class not found error
Delphi form internals
Fatal startup error
Field class table
Field table
Global class list
InsertComponent
Method table
ReadComponentRes
RegisterClass
Registering a class
Removing code from forms
TObject.FieldAddress
TObject.MethodAddress
TObject.MethodName
TReader
Unwanted declarations
Virtual constructors
Control locking
CurrentGroup
Find selected component
GetActiveForm
GetComponentBitmap
GetFirstSelectionType
GetOleCtrlHelp
GetProperties
GetSelection
GetSelectionName
GetSelectionType
HideWindows
IDE add-ins
IsTopMostForm
Registering experts
ShowWindows
TIComponentInterface
TIFormInterface
Un-registering experts
Data-aware controls
Is datasource valid?
TDataLink
TGridDataLink
LoadPackage
Loading arbitrary forms
Reading form files
UnloadPackage
Design-Time Packages
Alias Property Editor
GetDatabaseNames
Listing database aliases
Writing property editors
GetIndexNames
Index Combobox
IndexFieldNames
Listing availale indexes
Descending index
GetIndexForFields
IndexFieldNames Exception
IndexName
Pictures In Databases
Storing bitmaps in tables
Clinic issue 27 error
Resource explorer
Clean screen updates
File differences
File patching
Indexed properties
LockWindowUpdate
Mike's Corner
Parameterised properties
TLockWindow
TreeView controls
Updating TreeView
Automatic load balancing
Borland Database Engine, BDE
Briefcase applications
Business rules
COM, DCOM
MIDAS
Middleware
Multi-tier architecture
Object brokers
OnReconcileError
Remote Data Module
Remote Dataset
Server class instancing
TCP/IP
TClientDataset
TDataModule
TRemoteServer
Three-tier applications
Two-tier applications
Type library editor
Banking terms
Cybercash
E-Commerce
ICVerify
Live transaction processing
META REFRESH HTML tag
Online transactions
Transaction queuing
Validating credit cards
Web commerce
Dynamic hash tables
Extensible hashing
Hash indexed record manager
Hash table limitations
Hash tables on disk
Linear hashing
Record buckets
Customising Delphi IDE
Delphi IDE API
Design time form image
Get component name
GetCompCount
GetCompName
GetDesigner
Make image of form
Number of components on form
TFormDesigner
TICompInfo
TIForm class
TLibForm
TWindowDesigner
Dictionaries and word lists
Spell checking
Spelling checker
Spelling suggestions
Adding property sheet pages
Context menu handlers
Copy hook handlers
Copying folders
Deleting folders
Delphi meets COM
DispID
Dispatch interface
Dispinterface
Extract icon from file
GetIconLocation
IAmbientDispatch
IExtractIcon
IShellPropSheetExt
Icon handlers
IpersistFile
Modify file icon in Explorer
Moving folders
Printer status change
Property sheet handlers
Renaming folders
Shell extensions
Type library
Extended stored procedures
MS Transact SQL and Delphi
MS Transact SQL datatypes
Open Data Services
SQL limitations
Borland Database Engine BDE
Convert table to HTML
Generating Paradox indexes
Generating Paradox tables
Paradox table fields
Table source generator
TableBob Wizard
Delphi 3 Display Glitch
Palette display problems
comctl32.dll
Copying TRichEdit contents
Copying using streams
TRichEdit
Bankers rounding
Round function
Rounding Inconsistency
Rounding floating points
Blob fields
EInvalidGraphic
Graphic fields
JPEG
Metafiles
Storing icon in database
Storing metafile in database
Calling 16-bit code from 32
Windows 95 OSR2
Abstract classes
Abstract virtual methods
Array of interface variables
Multiple inheritance
Object oriented programming
Reference counting
Custom Windows messages
Detecting Windows 98
GetVersionEx
IntelliMouse
Mouse programming
Mouse scrolling
Mouse wheel
Mouse wheel messages
Three-button mouse
WM_MBUTTONDBLCLK
WM_MBUTTONDOWN
WM_MBUTTONUP
Windows 98
Windows NT 4,  NT 5
Windows Version
Better FindFirst, FindNext
Directory search
File name matching
File search
GREP
Greedy algorithms
Linked list
Pattern matching
Regular expression engine
Regular expressions
Wildcards
BDE disadvantages
DMO
DMO type library
OLE interface for SQL Server
SQL Server API
Changing table structure
Copying database tables
SQL INSERT
TBatchMove too slow
CGI forms
Component Editors
HTML form wizard
SQL query to HTML converter
WWW
Wizards and Experts
Automation server
Dual interfaces
OLE controllers
OLE interfaces
OLEVariant type
DOS-style forms
Forms without report tools
Inserting data into forms
Printing forms
Error 216 on enter password
Masking floating point error
Non-Microsoft compilers
OpenGL and hooks
OpenGL floating point errors
Password dialog conflicts
Windows hook errors
Change current DBGrid cell
SelectedIndex
Application handles
Calling other programs
IsWindowVisible
Primary thread handle
Program instance handle
Window handles
.DLL extension required
DLL import declaration
DLL not found error
Moving 16-bit to 32-bit
AVI and WAV files
AVI or WAV as resource
Linking in resources
Merge resources into EXE
PlaySound
Playing videos
ResHandle
Resouce compiler
SndPlaySound
Command objects
Convert keycode to character
Drawing undo
EM_UNDO message
Extending TMemo undo
Multiple undo
Redo
Self-undoing objects
Stacks
TList as a stack object
Text editing undo
ToAscii
Undo
Undo in standard controls
WM_INITMENUPOPUP
Chi-Square distribution
Coupon Collector's test
Degrees of freedom
Gap test
Linear congruential method
Middle-square method
Mitchell & Moore generator
Poker test
Random function
Random number generators
Randomize procedure
Sum of squares test
Testing randomness
Code tables
Lookup tables
Dependent units
File dependencies
File packing list
Files in uses clause
Files required by component
Missing files
Parsing uses clause
Source dependency
Borland editor engine
DFWEDIT.DLL
IDE enhancements
IntelliMouse in Delphi IDE
IntelliPoint software errors
MSH_WHEELSUPPORT_MSG
TDesktopForm
TEditWindow
TTimer problems
Timers without TTimer
Add methods to component
Add properties to component
Amending existing components
Dummy classes
Expose Canvas in TPanel
Exposing hidden properties
Exposing private properties
Form inheritance in Delphi 1
Interposer classes
CGI actions
CGI form wizard
CGI performance problems
Database editing on internet
Error reporting tool
Web database application
Web with no web modules
Building ActiveX controls
Custom Windows 95 desktop
Desktop is listview control
Progman window class
Read only property ActiveX
SHELLDLL_DefView
Version resource in ActiveX
Visual Basic 4 ActiveX
Access radio group members
Change cursor in radio group
ComponentState property
Controls property
Radio buttons
Radio group problem
cm_CursorChanged
Application Time-Out
Close app after fixed time
Detect keyboard inactivity
Detect mouse inactivity
GetCurrentThreadID
Thread identified
Controlling chained events
Event complexity
Prevent on-click events
Abbreviate filename
MinimizeName
MoveFileEx
MoveFile_Delay_Until_Reboot
Updating System Files
Updating files in use
WinInit program
3D scale models
Animated graphics
Fog effects
OpenGL
OpenGL, Windows 95 problems
Real time 3D graphics
Silicon Graphics OpenGL
Transparency effects
VRML
Algorithms Alfresco
Partial match searching
Searching algorithms
Storing sorted text strings
Ternary search trees
Trie
Calendar systems
Date problems
Dates in Delphi
Dates in different countries
DecodeDate
EncodeDate
Gregorian  calendar
Julian calendar
Julian day numbering
Leap years
Length of a year
Non-existent dates
Problems with early dates
SYSUTILS
Scaliger cycle
Year 1752
Object identifiers
Object oriented databases
Relational database systems
CFE_LINK text effect
COMCTRLS unit
Common controls
Detecting URLs
Hyperlinks in rich text
RICHED.DLL
RICHED20.DLL
RICHED32.DLL
RTF format
Rich text
RichEdit 2.0
em_AutoURLDetect message
CGI versus ISAPI
Debugging ISAPI DLLs
Getting web server info
ISAPI and BDE
ISAPI support units
ISAPI without Web Modules
IntraBob
Maximum BDE sessions
Multiple database sessions
Multithreading in web apps
Web database applications
$E extension directive
ActiveX property pages
ActiveX property sheets
ComServ unit
ComServer variable
DefinePropertyPage
Delphi ActiveX framework DAX
DllUnregisterServer
MODULES resource
RT_RCDATA resource type
MultiEdit bad uninstall
Removing Delphi experts
Components array
Control looping
Controls array
Finding all controls on form
Loop through controls
BDE error messages
BDE import units
EDBEngineError exception
Exeption handling
Global exception handler
Trapping database exceptions
Trapping key violations
Dragging captionless forms
Dragging controls on a form
Moving windows in code
sc_Move
wm_NCHitTest
wm_SysCommand message
Paradox auto increment
Reset autoincrement fields
Delphi 4 preview
Hyperlinks
Multiple undo/redo
Rich Edit 2.0
Rich text editor
RichEdit controls
Text editor
Undo and redo
DBGrid multiple selection
Database bookmarks
Selected rows in DBGrid
TBookmarkList
dgMultiSelect
Automated email
Mail servers
SMTP email protocol
Sending email from webserver
TCP/IP protocol
TClientSocket
CleanupInstance
Constructor and destructor
InitInstance
Fibonacci numbers
Hash tables: correction
Recursive routines
Removing recursion
Exporting data using RTTI
Importing data using RTTI
RTTI for data storage
RTTI for databases
Runtime type information
Computer Associates Jasmine
ODBMS
Object query language
ActiveX control libraries
BorIDE unit
Delphi 4 COM support
Native Tools API
TLibAppBuilder
BDE Administrator problems
BDE installation problems
InstallShield and BDE
Cacded updates problem
Multiple lock files
Paradox databsases
MDI menu problems
Including bitmap resources
Linking in resource files
Resources in DLL
Resources in EXE
Resources in packages
File open dialogs
FileFormatList
Graphic file extensions
GraphicFileMask
Microsoft Outlook
Working with MS Office
GUIDs and as operator
Mix-In classes
No need for GUIDs
_AddRef
_Release
Delphi 4 dynamic arrays
Email mailing lists
FTP
FTP downloading
Internet agents
Internet robots
InternetReadFile
Listserver program
POP3 mail
Reading email
Remotely end program
Remotely start program
Run program by email
SMTP mail
Sending email
UUENCODE
WININET
Image masks
Image overlays
ImageList drag and drop
Overlaid images
TImageList
Transparency in images
Boyer-Moore algorithm
Pos function
String searching
Ternary tree error corrected
ActiveX control development
ActiveX framework
Aggregation
Apartment threading
Both threading
COM object wizard
Delphi 4
Event support
Free threading
IObjectControl
Implementation by delegation
Implements directive
Microsoft Transaction Server
OLE automation
Remote DataModules
Single threading
Threading models
BITMAP resource
CURSOR resource
ICON resource
RCDATA resource
Resource file syntax
STRINGTABLE resource
Windows resources
Chached INI files
HKEY_CLASSES_ROOT
Registry hives
TMemIniFile
TRegIniFile
TRegistry
Windows 98 for programmers
Windows NT and INI files
Windows file associations
Application.CreateForm
AutoCreate forms
Creating forms on demand
Form cache
Form caching
Form handling
Minimising memory use
David and Goliath
Incrementing dates
Access 97 support
BDE versions
DAO support in BDE
Access SYSTEM DATABASE
Access security and BDE
Freeing objects
Is an object disposed
Closing Windows
ERROR_NO_SUCH_PRIVILEGE
EWX_FORCE flag
ExitWindowsEx
Forcing Windows shutdown
SE_SHUTDOWN_NAME
Delphi IDE colors
Delphi IDE colours
Delphi registry area
Storing a list of numbers
TStringList.Objects
Delphi 4 bugs and fixes
Dynamic arrays
ICon 98 conference report
Delphi component templates
Getting current printer
Exporting to Excel
Flashing text
Internet mail style app
BDE error dialog
Capturing DOS output
Delphi bug list
Cached updates bug
TListBox bug
Listbox bugs Delphi 4
Delphi 4 update
ListBox.ItemIndex
LB_GETCURSEL
Microsoft Exchange
IExchExt
EECONTEXT_VIEWER
IExchExtCommands
IExchExtCallback
Sorting algorithms
Shaker sort
Insertion sort
Improved insertion sort
Sorting performance
Quadratic time algorithms
Shellsort
Quicksort
Choosing a sorting algorithm
File associations
Heap-based arrays
Generic types
Range checking
Pointer dereferencing
GetMem and AllocMem
ReAllocMem
Allocating memory on heap
TList as a dynamic array
Paradox style dynamic arrays
TStringList as dynamic array
Non-integer array indexes
Array idex must be ordinal
Variant array
Inprise 1998 conference
ODBMS in practice
ODBMS example
Delphi 4 web broker
TDataSetPageProducer
Web Application Wizard
Web module application
Internal Server Error 500
IntraBob CGI debugger/tester
Debugging ISAPI and NSAPI
Multi-threading in ISAPI
IsMultiThread
ActiveX data binding
Bound ActiveX controls
Data-aware ActiveX
Creating ActiveXs
Writing ActiveXs
ICursor
ICursorMove
VARFLAG_FBINDABLE
VARFLAG_FREQUESTEDIT
VARFLAG_FDISPLAYBIND
IPropertyNotifysinks
Bindable properties
TActiveXControl
Copying component templates
Login forms
Form with no taskbar entry
Ws_Ex_ToolWindow
Remove taskbar entry
Forms with different icons
DBExcept unit
TDbEngineErrorDlg
HookExceptions
Application.OnException
Capturing redirected output
DOS redirection
Command.com
Parsing components
Building projects
COM Corner
Creating tables and fields
Undocumented Delphi 4
Stopping Windows shutdown
Program runs on startup
IDE keyboard problem
Keystroke interception
Dynamic fonts update
Erratic MDI menu update
Graph algorithms
Scheduling algorithms
Computer science graphs
Network of nodes
Directed graphs: digraphs
Labeled graphs
Weighted graphs
Gantt chart
Travelling salesman
Matrix, matrices
Triangular matrix
Linked lists
Head and tail nodes
Spanning tree
HTML parsing
Parsing Pascal code
Parsing Delphi code
Component wrapper
Converting Pascal to HTML
Source code cross-reference
Parsing comma-delimited data
CORBA
TClientDataSet
Multi-Tier computing
Distributed applications
MIDAS sever and client
VERSION resource
Version component
VERSION.DLL
VER.DLL
Versioning API
VS_VERSION_INFO
VS_FIXEDFILEINFO
ToolServices in components
Delphi build process
Compiler configuration files
DCC32.EXE
Choosing CORBA or DCOM
Distributd computing
Object request broker ORB
Interactive query building
End user queries
Generating tables at runtime
Generating fields at runtime
Get field info for tables
Delphi 4 command line
Delphi 4 registry settings
Delphi 4 easter eggs
Preventing Windows shutdown
CanClose
Restart program on startup
Registry RunOnce setting
wm_EndSession
Keyboard
OnKeyDown
wm_Char
TranslateMessage
wm_KeyUp
vk_ key codes
WinTypes unit
wm_SysKeyDown
wm_SysKeyUp
wm_SysChar
Shift, Alt, Ctrl keys
wm_MenuChar
Loading fonts at runtime
Font names
wm_FontChange
wm_SetRedraw
MIME encoding
Unit initialization section
Delphi 4 user interface
Programming style
Paradox lock information
Formatted numbers
RichEdit tab stops
Paradox net file directory
SQL dates
Creating Windows shortcuts
Tooltips
Base64 MIME
Convert binary to ASCII
EBCDIC
RFC 1521
Binary attachments
UUEncoding
XXEncoding
Quoted printable encoding
Delphi code generation
Delphi on Windows NT
Delphi IDE memory use
Unit finalization section
Delphi generates extra code
Reducing memory usage
Long strings
system._initexe
system.initunits
Memory leaks in Delphi 2
Reference counted variables
Reduce memory use
New user interface features
Office 97 look and feel
Menus with bitmaps
TAction and TActionList
Action property
3D menus
Toolbars as menus
TToolBar
TToolButton
COMCTL32.DLL ver 4.72
Constraints property
Maximum form size
Minimum form size
TControlBar
Floating, dockable toolbars
Docking
Dockable tool windows
dkDock DragKind
DockSite
TMonthCalendar
TPageScroller
Automation events
Events interface
Outgoing interface
Multicasting
IID
Interface identification
IConnectionPointContainer
Connection point
FindConnectionPoint
IConnectionPoint
GetConnectionInterface
Event sink
Server source
InterfaceConnect
InterfaceDisconnect
Priority queue
Heapsort
FIFO and LIFO
Queues
Tree balancing algorithms
Heap data structure
Binary tree as array
Floyd's algorithm
Website visitor tracking
Multi-tier applications
ActiveForm
Website visitor log
HTTP_USER_AGENT
Obtaining user's IP address
BDE and CGI applications
BDE load/unload time
JavaScript
TDCOMConnection
Windows Explorer namespace
Browsing for folders
Browsing for directory
Select directory or folder
Treeview of directories
SHBrowseForFolder
COMDLG32.DLL
SelectDirectory
TBrowseInfo
SHGetSpecialFolderLocation
bif_BrowseIncludeFiles
SHGetPathFromIDList
Setting up the Delphi IDE
Show component captions
Range and overflow checking
Debugging options
Assert
Typecasting guidelines
FieldByName
Uses statement
Listing locks in use
dbiOpenLockList
BDE locks
Thousand separators
StrToFloat
Tabstops
DOS environment
GetDOSEnvironment
GetEnvironmentStrings
Change net file directory
Session.NetFileDir
sesNETFILE
Formatting dates in SQL
Creating program folders
Start menu
Desktop shortcuts
Program manager
Explorer shell
Program groups
Link files
IPersistFile
Program folder location
Windows directory location
SHLOBJ unit
SHGetMalloc
Start menu folder
Multiple line hints
Multi-line hints
Carriage return in hint
Carriage return in tooltip
Diagramming
Making fake keystrokes
Multithreading
Enhanced grids
Restarting Windows
TStringGrid Coordinates
Code Insight Customisation
Windows API Help Files
Diagrams
Line drawing
Drawing shapes
Image lists
Arrowhead
Mapping websites
Parsing HTML
Parsing algorithms
Website diagram
System image list
Using Windows icons
Cached icons
ImageIndex
TBrowseInfo.iImage
Windows shell
CommCtrl unit
ShellAPI unit
SHGetFileInfo
shgfiSmallIcon
shgfiLargeIcon
ImageList_GetIconSize
ImageList_Draw
Disk drive icons
Windows 95 style drive icons
ImageList_Duplicate
ImageList is read only
GetLogicalDriveSettings
Logical drive letters
List of disk drives
File system information
FAT32
Drive Volume ID
WNetGetConnection
Shell namespace extensions
Extending Explorer namespace
Namespace junction point
IShellFolder
CreateViewObject
IShellView
Browsing COM servers
Finding COM servers
COM servers in Registry
PIDLs (piddles)
CreateViewWindow
Self-registering COM server
Closing Shell not Windows
Debugging Shell extensions
Delphi client/server edition
TDecisionQuery
Decision Query Editor
DecisionGrid column width
DecisionGrid.ColWidths
TDecisionChart
Checksum algorithms
Verifying credit card number
Verifying ISBN number
Self-validating numbers
Date from day of week
DayOfWeek
ISO date
ISO week of the year
Winsock
Circular queue
Linear queue
Queue with overflow
Shuffling deck of cards
Shuffling an array
Fractions from decimal
Calculating fractions
Continued fractions
Integer to roman numerals
Roman numbers
Convert Roman numbers
Simulating keystrokes
Extended keystrokes
Programmatic keystrokes
Internal key state
PostVirtualKeyEvent
PenWindows DLL
KeyBd_Event
MapVirtualKey
Programmatic print screen
vk_SnapShot
GetMessageExtraInfo
SendInput
Numeric keypad
WinSight
Delphi 4 SendInput bugs
TAppBuilder
Input_Keyboard
Input_Hardware
TMouseInput
TKeyBdInput
THardwareInput
TInput
dwExtraInfo
dwExtractInfo is incorrect
Threading
Threadvar
TLS thread local storage
TlsAlloc
_GetTls
TlsIndex
TlsLast
InOutRes
RaiseList
Detecting multiple threads
BeginThread
Multithreading in the VCL
CreateThread
DelphiMM DLL
BorlandMM DLL
Threads in COM
EndThread
ExitThread
MainThreadID
PostThreadMessage
Thread objects
TThread.WaitFor
Waiting for thread to finish
TThread restrictions
SyncObjs unit
TThreadList
CriticalSections
Delphi threading problems
Mutex and semaphore support
Waiting for multiple objects
THandleObject
Thread communication
Avoiding synchronize
WaitMessage
MsgWaitForMultipleObjects
Hooking OnIdle event
Action lists and threads
Customising software
Vertical Scrollbars
Custom scrollbar behaviour
Customising scrollbars
TScrollBar
wm_VScroll
wm_HScroll
Scrollbar messages
sb_LineUp
sb_LineDown
sb_PageUp
sb_PageDown
sb_ThumbTrack
sb_EndScroll
sb_ThumbPosition
TScrollCode
Scrollbar events
OnScroll
Vertical scrollbar position
Scrollbar on TDBGrid
Rebooting computer
Shutting down Windows
Preventing reboot
Undocumented Windows 95
RestartDlg
Windows 95 restart dialog
RestartDialog
Selected cell TStringGrid
MouseToCell
Win32 help files
Windows API help
Windows SDK
Design patterns
Surviving  client/server
Algorithms alfresco
Is a property published?
Do not use SQL cursor
Bracket matching in Delphi
Win32 system modal window
Incorrect editor line number
Backspace and new line
Non-editable TDBGrid
Starting control panel
Software design
Gang of four
Singleton design pattern
Gamma
Christopher Alexander
Object Pascal and C++
Software re-use (reuse)
Class reference variables
Single instance of class
Singleton classes
Visibility of methods
Class procedures
Prevent object destruction
Prevent object creation
Class fields
Replicating constraints
Server constraints
Client constraints
Data constraints
Data integrity
Delphi data dictionary
SQL Explorer
CustomConstraint
DisplayFormat
MaxValue, MinValue
TField attribute sets
Database schema
BDE aliases
Check constraints
Data dictionary problems
BDE and Database aliases
Topological sorting
Depth first traversal
Unconnected graphs
Directed acyclic graph: dag
Breadth first traversal
Shortest path algorithm
Priority first traversal
Prim's Algorithm
Travelling salesmen problem
Traveling salesmen problem
NP-complete problems
Dijkstra's Algorithm
Lowest cost path
NNTP protocolk
Newsgroup reader
Socket programming
Usenet newsgroups
Network news transport
TNMNNTP component
WinSock
Diagram classes
Saving objects to streams
Sizing and moving components
Adding font property
Use case diagrams
Use case editor
Unified Modelling Language
UML
Unified Process
Animated icons
Animated cursors
ANI files
RIFF file format
ICO files
TIconHeader
TIconDirEntry
Jiffy
dwJIFRate
Streaming animated icons
TGraphic streaming support
TImageList.SharedImages
Image List
MicroAngelo icon editor
Automation collections
Containers
Containers in COM
Arrays in COM
_NewEnum
IEnumVARIANT
DISPID_NEWENUM
OleVariant
RegisterNonActiveX
ActiveX controls
Disable SQL cursor
crSQLWait cursor
Session.SQLCursor
Screen saver
spi_ScreenSaverRunning
Prevent editing of TDBGrid
Allow editing of TStringGrid
TDBGrid.Options
dgEditing
TStringGrid.Options
goEditing
Control panel applets
CPL files
Shell32.dll
shell.dll
RunDll32.exe
RunDll.exe
Running a DLL
control.exe
Active Server Pages
Diagramming in Delphi
Paradox file corruption
Delphi 4 docking
Delphi hangs the computer
Delphi 4 component errors
Delphi 4 editor enhancements
Delphi 4 Code Insight
GLINT chipset
Vector drawing
Direct3D versus OpenGL
OpenGL components
Silicon Graphics OpenGL DLLs
Microsoft OpenGL DLLs
OpenGL 1.2 Delphi interface
Rendering context
wglCreateContext
glViewport
Coordinate systems
Head-up-display
3D primitives
Text in OpenGL
Bitmaps in OpenGL
Textures
Saving OpenGL images to disk
Rendering to a buffer
ASP in Delphi
Creating ASP DLLs
World wide web, internet
Building ASP objects
Personal Web Server
Assigning TCP/IP addresses
ASP type library
IScriptingContext
IResponse
Databases and ASP
Issue 41 update
Drawing
Animated icons and cursors
Registering property editors
Animated Windows tray icons
Windows taskbar
Window handle with no window
AllocateHWnd
Hidden windows
DeallocateHWnd
LoadImage
Paradox index corruption
Database file corruption
Session.PrivateDir
Lock file has grown too big
Paradox temporary files
Disk caching problems
dBase file corruption
VREDIR.VXD
VNETSUP.VXD
Data sharing with NT Server
Windows 95 and NT Server
Write-behind caching
Synchronous buffer commits
File locking semantics
AsyncFileCommit
SoftCompatMode
Novell netware networks
Opportunistic locking
ForceLazyOff
SmartDrive
CheckRegistryEntry
Container data structure
Singly linked list
Doubly linked list
Array versus linked list
Nodes
EZDSL class library
Typeless pointer
Delphi heap manager
Free list structure
Cursor in linked list
Sorting a linked list
Sorting singly linked list
Sorted list
Searching linked list
Stack and queue
LIFO and FIFO
Enqueue and dequeue
Circular linked list
Multilist linked list
NNTP
Posting messages
News server
Response status codes
ActiveX document servers
Automation
OLE 2.0 Document Objects
ActiveX document interfaces
IPersistStorage
IOleObject
IDataObject
IOleInPlaceObject
IOleInPlaceActiveObject
IOleDocument
IOleDocumentView
IOleCommandTarget
IPrint
Frames documents views
IOleInPlaceFrame
IOleInPlaceSite
IOleContainer
FOleInPlaceSite
ObjQueryInterface
IOleLink
SQL queries on two tables
Help with writing SQL
QBE
Translating QBE to SQL
Database desktop
Visual query builder
Generating SQL queries
SQL SELECT, COUNT, WHERE
SQL Builder
SQL DISTINCT
BDE local SQL
SQL JOIN
Turn docking off
GetDockSiteAtPos
Dockable windows in IDE
Inastalling components
Image list bugs
COMCTL32.DLL versions
Video card drivers
Graphics cards
Woll2Woll
Diamond Stealth
Matrox
S3 graphics chip
Diamond Viper
Neo Magic
Delphi 4 bugs
Method overloading
Function overloading
Missing components
Components not installed
Name mangling
Register procedure
Code explorer
Class completion
Module navigation
Code browser
Tooltip symbol insight
Customising code insight
Delphi 4 IDE
Name sorting
Issue 18 update
DelayLoading of DLLs
Year 2000, Y2K
Windows task bar
Delphi 4 and NT services
One step ActiveX
Skip lists
William Pugh
Balanced trees
Sorted data structures
Probabilistic
Unbalanced binary tree
Balancing algorithms
Duplicate items in skip list
Deterministic skip lists
Munro, Papdakis, Sedgewick
1-2 Skip list
Shuffle algorithm
Issue 40 update
Errata Issue 40
Heap manager
Issue 18 errata
Wrapper around class method
Class methods as callbacks
Windows callbacks
MEM_COMMIT
MEM_DECOMMIT
Reserving virtual memory
MEM_RESERVE
MEM_RELEASE
MakeMIC unit
Persistent hint windows
Customised tooltips
Customised hint windows
Code parameters window
TTokenWindow
TPropertyHintWindow
Non-standard tooltips
Hint windows that stay open
CalcHintRect
Application.OnActivate
Application.OnDeActivate
SWP_NOACTIVATE
SetWindowPos and ShowWindow
StringGrid obscured cells
Partly obscured grid columns
Partly obscured grid cells
Hint shows full cell content
Text completion tooltips
Find cell under mouse cursor
Mouse messages
MouseToCoord
Field under mouse cursor
TListBox obscured items
Item too wide for listbox
Display wide item in listbox
Hint window beeps
Click on hint window
ORB and IIOP
IDL
Marshalling
Newsgroup CORBA server
NNTP newsgroup reader
TCorbaImplementation
Visibroker Smart Agent
CORBA development
Microsoft Visual C++ 6.0
/DELAYLOAD option
DLL loading on demand
Implicit and explicit import
Writing and using DLLs
External directive
Name directive
DLL routines case sensitive
Import by ordinal value
Import by name
Index directive
DLL import unit
Handling missing DLLs
DLL version problems
Routines missing from DLLs
Dynmic linking of DLLs
Generating code at runtime
Generating executable code
CPU instruction opcodes
Bug in Delphi debugger
Integrated debugger bug
Breakpoint bugs
Using SizeOf in BASM
Built-In Assembler BASM
SizeOf always returns $34
Packages and performance
Packages and DLL calling
Allocating executable memory
PAGE_EXECUTE
VirtualProtect
GetMem
Memory access rights
HeapCreate
HeapAlloc
HeapSize
HeapFree
HeapDestroy
Private memory heaps
Memory fragmentation
__fastcall convention
Peter Sawatzki
Millennium bug
Date handling
Year two thousand
Two-digit date data
Year 2000 compliance
Leap year
Inprise and Year 2000
Paradox and Year 2000
Interbase and Year 2000
dBase and Year 2000
Windows short date format
Windows date format
Regional settings
TDateTimePicker year 2000
ShortDateFormat
Four-digit year in Delphi
TwoDigitYearCenturyWindow
StrToDate, StrToDateTime
Adrock date classes
TAdrockDate component
Code obfuscation
Protection from piracy
Detect Delphi running
Component trial versions
Shareware
Is Delphi IDE running
Finding running programs
Delphi IDE hidden windows
Parent process
ToolHelp unit
Process32First
Process32Next
Program launched from Delphi
GetCurrentProcessID
Windows NT PSAPI
IsDebuggerPresent
ActiveX Document Server
Out of process server
In process server
InprocHandler32
DocObject
Insertable key in ProgID
In process handler
DAX ActiveX framework
ActiveX Documents
InPlaceDeactivate
IOleInplaceObject
OnDocWindowActivate
InPlaceActivate
Overriding static methods
HTML OBJECT tag
Registering ActiveX server
Stephen Posey
Overriding routines
Enhanced calculated fields
Datachange event
Is task bar present
Task bar location on screen
Monitor working area
Code completion window width
Tooltip delay time
DefHintHidePause
Tooltip pause
Application.HintHidePause
DataField property
Custom property editor
Start and stop an NT service
TServiceApplication
TService
NT service not in IDE wizard
SVCMGR unit
Column resize in DBGrid
Mouse dragging
Column resize events
FGridState
gsColResizing
CalcDrawInfo
CalcSizingState
dgIndicator current record
DAX
Convert component to ActiveX
HTML file references
TWinSocketStream bugs
Design pattens
Bitmap buttons
TTable component editor
Treeviews and tooltips
Long and short filenames
Protecting against hackers
Software security
Application security
Hacking
TImageList bug with Delphi 4
Create project from EXE file
Form files from EXE file
EXE2DPR utility
Protecting trial software
LoadLibraryEx
EnumResourceNames
RT_RCDATA resource
stdcall with API enumeration
VCL callbacks
ObjectBinaryToText
EXE file compressors
Compressing executable files
ASPack
Shrinker
Petite
PkLite
HTML <A HREF=
Broken links in HTML
Moving HTML files
Relative directory location
HTML file links
ExtractRelativePath
Relative file path
Absolute file path
ExpandFileName
Change directory ChDir
HTML file utilities
Writing Wizards
Program logic in SQL
SQL for data processing
Complex SQL
Effective date of data
DateAdd in SQL Server
Date arithmetic in SQL
SQL DECLARE CURSOR
Winsock programming
Sockets
ScktComp unit
Slow and noisy modem lines
Buffer overwrite
Compression algorithms
Huffman encoding
Huffman tree
Compress data stream
COM  programming
Adding type definitions
Interface definition
Automation data exchange
Automation client and server
safearray
One object multiple clients
Surfacing events
Event handling in COM
TConnectionPoints.Kind
ckMulti
RegisterActiveObject
GetActiveObject
Java and Delphi
CGI programming
Java applet
Web-based To Do notes
Java to Delphi communication
Communication using sockets
TServerSocket
stNonBlocking
stThreadBlocking
Singleton pattern
Hallvard Vassbotn
Bitmaps for TBitBtn
Glyph properties
NumGlyphs
TBitmap.TransparentColor
Writing component editors
Adding component editors
TDefaultEditor
TDataSetEditor
Windows NT and treeviews
Turn off Treeview tooltips
COMCTL32
TVS_NOTOOLTIPS
Long to short filename
Short to long filename
ExtractShortPathName
GetShortPathName
Internet cookies
DCOM deployment
Are two GUIDs the same?
TStringLists and files
CORBA IDL and Delphi
CORBA and dial up networking
Long Filename Update
Tooltips update Issue 43
Fat URLs
CGI and ISAPI
Hidden fields in HTML forms
WebBroker
Persistent data in web apps
Setting, retrieving cookies
HTTP header
ScanLine property
Imaging toolkit
TCanvas.Pixels array
TBitmap.Scanline
PixelFormat
Bitmap brightness
Bitmap flipping
Gaussian blurs
E_NOINTERFACE error
Proxy and stub DLLs
CreateRemoteCOMObject
CoCreateInstanceEx
Deployment of DCOM clients
DCOM installation problems
Registry settings
LoadTypeLibEx
Register DCOM server
Unregister DCOM server
DCOM out of process server
LZ77 compression
Shannon-Fanno
Lempel-Ziv
Software patents
Compression dictionary
Sliding window
PkZip
Deflate algorithm
Microsoft Expand
GIF compression
Unisys
LZW algorithm, LZ78
Hash table
Delphi to Java communication
CORBA programming
CORBA server
CORBA objects
Java, JBuilder
Diary application
Is Delphi IDE running?
Program launched by Delphi?
Trial software
Is Delphi installed?
Execution in Delphi IDE
Trial components
IDE versus application
Delphi launched the program
Delphi registry entries
Delphi and messages
Using Windows messages
TControl.Perform
WndProc
TObject.Dispatch
Windows messages explained
VCL messages
DoControlMsg
Message spy utility
Monitoring messages
CM_MOUSEENTER
CM_MOUSELEAVE
CM_FONTCHANGED
Hooking Windows messages
MTS
Scalable applications
Multi-tier systems
N-Tier systems
Stateful objects
Stateless objects
MTS packages
MTS security
Debugging ISAPI
Changing ISAPI and ASP DLLs
Restarting web server
Internet Information Service
NT Server 4 and IIS 4
Replacing loaded DLLs
Turning off IIS caching
In-memory caching
GUID equality
GUID is not a string
Character #0 is end of file
Translating IDL to Delphi
Type library as Pascal
Skeleton and stub classes
DUN
Windows AutoDial
See website for new version!
SHGFI_DISPLAYNAME
Tooltip on DBGrid memo field
Memo contents in tooltip
ActiveX Data Objects
HotTrack property
Using already loaded DLL
Free method
Active OLE object
ADO
BDE Borland Database Engine
OLE DB
DAO Data Access Objects
RDA Remote Data Access
ADO Recordset
Early or late binding
Dispinterfaces
ADO and BDE equivalents
ADO Connections
ADO exception handling
EOLEException
OLE DB Provider
ADO transaction handling
ADO schema information
ADO connection pooling
Briefcase model
Recordset persistence
ADO third party products
Cybermagic Adonis
Lectum ADOSolutio
Delphi 5
ADO installation
Expression parsing
Reverse Polish Notation RPN
Expression evaluation
Recursive descent parser
Stack parser
Parentheses in algebra
Operator precedence
Unary minus and subtraction
ObStack data structure
Storing objects
Efficient string stack
Efficient string storage
Permutations
Multipart/form-data encoding
ENCTYPE
Uploading files with CGI
RFC 1867
Content-disposition
CGI unit
MIME, UU, Base64
Netscape Navigator 3
DCU file format
Delphi compiler and linker
Compiled unit files
Dissassembling
Kibbitz
DCU version information
DCU compile date and time
Scanline update
TRGBQuadArray
Greyscaling a bitmap
Bitmap filters
File searching
Nested tables
TNestedTable
Nested dataset
Oracle 8 nested detail set
Master-detail relationships
Master-detail and multi-tier
N-Tier
Provider component
DataSetField
Application plug-in modules
Extending applications
Plug-ins
Dynamic package loading
Design-time packages
Installing components
Wizards and experts
RegisterComponents
RegisterNoIcon
RegisterLibraryExpert
Customising tooltips
THintWindowClass
Archaeopteryx in Delphi 4
Delphi add-in packages
Loading, unloading packages
Tracking objects by address
Tracking objects by group
FreeEditorGroup
UnRegisterExpertGroup
GetPackageDescription
Packages versus DLLs
Partitioning applications
Locate routine in a package
Extender packages
Object browser
COM p[rogramming
MTS example application
Building MTS objects
MTS object wizards
TMtsAutoObject
Creating MTS applications
MtsObj unit
Mtx unit
IObjectContext methods
Resource dispenser
Shared property manager
ISharedPropertyGroupManager
Security in MTS
Installing an MTS server
Transaction Server Explorer
Debugging MTS applications
MTS package guid
Tab caption font colour
Page controls
Inter-process communication
DLLs not globally available
Set object variable to nil
Object references
Method types
Addresses and events
Event addresses
CreateOleObject
GetActiveOleObject
EOleSysError
Calling automation server
Single or multiple instance
Strong or weak registration
RevokeActiveObject
Cookie variable
CoLockObjectExternal
CoDisconnectObject
Object Oriented Programming
Text file difference engine
Debugging techniques
InterBase API
Invalid BLOb handle
Set object reference to nil
Using Internet Explorer
Temporary internet files
OOP
20 rules for OOP
Program structure
Encapsulation
Forms classes not objects
Form classes
One class, one unit
Private and protected
Component naming
Event naming
Form methods
Custom form constructors
Global variables
Form1 and TForm1
Referring to global objects
Global form objects
Using form properties
Array properties
An OOP form wizard
Visual form inheritance
Using protected data
Designing methods
Compiled unit file DCU
Include files $I directive
Object files
Compiler timestamp data
Unit modification date/time
Numeric encoding in DCU
Encoding numbers
Free Pascal compiler
Pascal on Linux
Comparing text files
CGI file uploads
Multiple file uploading
Business dates
Working days
TDateTime problems
Delphi 1 TDateTime
Gregorian dates
Leap year calculation
Date validation
Date encoding
Binary searching
For loop gotcha
For loop counter undefined
Breaking out of a for loop
Interpolation search
Day of the week
ShortDayNames
LongDayNames
Remote debugging
Integrated debugger
$L $D compiler directives
Local symbols
Turbo Assembler
Host application
IntraBob for debugging
Debugging CGI applications
Debugging distributed apps
Debugging ActiveForms
Debugging N-Tier apps
borrdbg.exe
Debug Server
InterBase Express Components
Database server
DBMS
SQL database
gds32.dll
Network protocol
Transactions
Connecting to InterBase
malloc() and ReallocMem
InterBase Result Set
Parameter blocks
InterBase error handling
Extended SQL descriptor area
XSQLDA
Language support for COM
Object Pascal and COM
VARIANT struct
oleaut32.dll
SAFEARRAYs
_DispInvoke
VarDispProc
ComObj unit
VarDispInvoke
UNICODE
BSTR string type
SysAllocStringLen
BDE error 10030 ($272E)
BDE caching of BLObs
BLOBS TO CACHE value
64 BLObs limit
Nil after free
Disposing of objects
Internet Explorer ActiveX
shdocvw.dll
Microsoft Internet Controls
Automation and Explorer
IWebBrowserApp
Internet Explorer via COM
Calling Internet Explorer
desktop.ini
index.dat
UICLSID
SHDOCVW.DLL
IShellFolder interface
Access recycle bin
IShellDetails
XML
Application memory use
Resource strings
TOpenDialog
SQL Monitor
Windows hints and tips
Inter-application comms
Extensible markup language
Data transfer
Document Type Definition DTD
XML parser
Internet Explorer 5
XML entities
XML tags, elements
XML namespace
XML datatypes
PCDATA
CDATA
XML attributes
Generating XML in programs
Document Content Definition
DCD
XSchema
W3C
Document Object Model DOM
XML in Delphi
XML classes
DCU compiled unit file
Delphi compiler
Create components at runtime
Dynamic creation of events
Dynamic event handlers
Create event handlers
Dynamic components
Constructor
Create method
CRC calculations
Cyclic Redundancy Check
Error checking
Checksum
Data transmission errors
Communications
XMODEM
Hashing as a checksum
ELF Hash
Galois Field theory
CRC-16 and CRC-32
Modulo 2 arithmetic
Polynomial division
CRC-CCITT
AAL5 32-bit CRC
Program memory use
Memory consumption
Show memory use in Delphi
-HM command line switch
OLE32.DLL and OLEAUT32.DLL
GetMem, AllocMem
GetProcessWorkingSetSize
VirtualQuery
Application working set size
GetSystemInfo
Committed memory
System.AllocMemCount
System.AllocMemSize
GetAllocMemCount
GetAllocMemSize
DelphiMM unit
FindCmdLineSwitch
Command line switches
-HV command line switch
Delphi heap error checking
GetHeapStatus
THeapStatus
Reducing memory use
Used DLLs
Remove DLL dependency
LoadResourceModule
Delayloading of DLLs
VariantClear
System.VarClear
ActiveForm development
ActiveForm and ActiveX
What are ActiveForms
TActiveFormControl
ActiveForm security
Using ActiveForms
Web-delivered ActiveForms
Deploying ActiveForms on web
Properties in ActiveForms
Required DLLs
IPersistPropertyBag
TranslateAccelerator
Databases and ActiveForms
Interfacing with web browser
HLinkNavigateString
HLinkGoForward
UrlMon unit
URLDownloadToFile
Open file in ActiveForm
Internationalization
Internationalisation
Localisation
Localization
LoadString
Storing strings in resources
String constants
Hidden files in TOpenDialog
Monitoring SQL statements
Building an SQL monitor
SQL trace in applications
TBDECallback
cbTrace callback type
FSQLTraceCallback
Windows shortcut keys
Windows key
Borland Conference Report
Factory  pattern
Building a project
Porting to Delphi 5
ADO in Delphi 5
Character manipulation
SQL Server login
DCOM configuration
Daylight savings changeover
Terminating programs
Computer name in registry
Delphi 5 features
Inprise Conference 1999
Code maintainability
Code reuse
Creational pattern
Creating objects
Object of unknown class
Set object class at runtime
Selecting a report to run
Complex if then else
Complex if..tehn..else
Procedural programming
Class-reference types
Class of...
Call create
Inherited create
Poor man's singleton pattern
Abstract factory
Concrete factory
Binary search trees
Linked list as a tree
Stack class
Binary tree traversal
Balanced tree
Generating EPS files
Encapsulated PostScript
Writing PostScript
Command line utilities
Compiling in the IDE
Release and debug builds
Build process
dcc32.cfg
Project configuration file
Project options settings
BRCC32.EXE
Project settings file (.DOF)
Batch files
Help compiler
Include file from help
Help project file (.hpj)
EXE compresssor
Optimisation and efficiency
Minimising network traffic
Distributed computing
TDataSetProvider
CORBA, COM, DCOM
Monitoring data transfer
Tuning
TClientDataSet.PackedRecords
Common controls DLL
TTreeView
TToolbar
Delphi 5 and common controls
Custom draw
Owner draw problems
hsOwnerDraw
OnDrawSection
Outlook Express style
OnCustomDraw
OnAdvancedCustomDraw
NM_CUSTOMDRAW
WM_DRAWITEM
LBS_OWNERDRAW
Porting apps to new version
Upgrading to Delphi 5
Compatibility issues
ADO Express
TADOTable
ConnectionString
Using ADO in Delphi 5
MDAC 2.1
ADO 2.1
MDAC SDK 2.0
Data Access Components
MDAC SDK 2.1 update
ADO version history
BDE versus ADO
TADOConnection
IsolationLevel
OLE DB providers
Data link files
OpenSchema
ADO transactions
ADO datasets
Utilities and tools for ADO
ADOX, ADOMD, JRO
ADO Multi-Dimensional
OLAP and ADO
Replication
Office 2000 COM add-ins
Creating Office add-ins
Microsoft Office 2000
IDTExtensibility2
ConnectMode
OnConnection
OnDisconnection
Registering an Office add-in
MSADDNDR.TLB
Import tyle library
Events in Office add-ins
TAutoObjectFactory
Debugging COM add-ins
Ord
Get ANSI value of character
Locale settings
Syntax error converting date
Restart Windows dialog
DCOMCNFG.EXE
When does clock change?
GetTimeZoneInformation
TTimeZoneInformation
Co-ordinated Universal Time
UTC time
TSystemTime
wDayOfWeek
PostQuitMessage
TerminateProcess
Running external program
Terminating external program
see_Mask_NoCloseProcess
fMask
hProcess
EnumThreadWindows
Getting a window handle
GetWindowThreadProcessID
PROCESS_TERMINATE
SendMessageTimeout
Find computer name
TRegistry.RootKey
Font names display
ImageIndex properties
Fontname properties
Automatic hotkeys
AutoHotKeys
RethinkHotKeys
MenuAnimation
Popup menu animation
AutoLineReduction
RethinkLines
GetOrdProp, SetOrdProp
Delphi Junction crossword
Localising with Delphi 5
Stack tracer
Active tab in TPageControl
Customised Alias
Status bar panel colour
Delphi 5 COM servers
Custom font dialog
Multi-user Delphi install
Custom TLabel
User-defined exceptions
Delphi 5 Easter Eggs
Payroll and human resources
Data-aware HTML
Database web apps
Web page authoring
Markup languages
Application server
Templates
ASP, Java Server Pages
Tags
XML parsers
CUEsoft XML parser
DOM class
Hidden HTML fields
InternetExpress
4-Tier applications
Stateless MIDAS
Creating a MIDAS server
Remote data module
Data Module Designer
Master-detail relationship
DataSetProvider
Field Link Designer
WebConnection
XMLBroker
MidasPageProducer
Localisation, localization
Localizing
Integrated Translation ITE
Resource DLL Wizard
Delphi Translation Pack
resourcestring
Translation Manager
Translation Repository
Translating strings
Todo list bug
Translating VCL strings
Dynamic language loading
RichEdit
SAFECALL
Remote equipment monitoring
Observer pattern
File i/o errors
Type library corner cutting
Customised docking
CreateProcess resource leak
FOR loops
Control variable undefined
FOR loop counter
Pascal language
Result variable
Function result
Break and goto
const qualifier
Functions and procedures
Passing strings
Object member fields
IPC
Communicating between apps
32-bit Windows
Sending messages to apps
Window handle
Window procedure WndProc
Queued messages
Message urgency
HWnd_Broadcast
Send message to all windows
BroadcastSystemMessage
BroadcastSystemMessageA
Registering custom messages
Finding window handle
Windows Atom
wm_CopyData message
Sending data with messages
TCopyDataStruct
Mailslots
Send message over a network
Mailslot server
Mailslot client
CreateMailslot
SetMailslotInfo
GetMailslotInfo
Writing to a mailslot
Anonymous pipes
Named pipes
CreatePipe
CreateNamedPipe
Named pipes Windows NT only
File mapping
File view
Named shared memory
Red-black binary trees
Splay tree
Zi-g-zag and zig-zig
AVL trees
XML class framework
DCDs
DTDs
XML Data Reduced
XML schemas
Document object model, DOM
Simple API for XML, SAX
msxml.dll
Microsoft XML parser
UTF-8 encoding
Standalone XML
XML processing instruction
Tree view of XML
Find causes of exceptions
Causes of access violations
Exception stack tracing
Hook exception handling
EAccessViolation
Hooking exceptions
Hardware exceptions
DL import address table, IAT
Executable file format
ImportDescriptor table
Thunking of system DLL
Kernel32.RaiseException
MAP files
COM in Delphi 5
Active Server Objects
ASP Active Server Pages
VBScript and JScript
TASPObject
COM Server components
Microsoft Office
Automation with Office
Type library updates dialog
HResult in Delphi 4 and 5
Class name of object
TPropertyEdit
GetComponent
ActivePageIndex
ActivePage
Database alias at runtime
TStatusPanel
psOwnerDraw
OnDrawPanel
COM server components
TFontDialog events
User settings in registry
HKEY_CURRENT_USER
Clipboard.Setcomponent
Multiple components
Customs clipboard formats
Clipbrd unit
CF_COMPONENT
CF_COMPONENTS
Copy components on clipboard
Label changes mouse enters
cm_MouseEnter
cm_MouseLeave
Hyperlink labels
Exception class
Redefining Exception
NT Services
COM and Automation errors
Environment options dialog
Exceptions in DLLs
COM error objects
ICreateErrorInfo
STDCALL
ISupportErrorInfo
HResult
S_OK and E_UNEXPECTED
Accessing HResult
Unexpected failure exception
Safecall function mapping
SafeCallException
HandleAutoException
SafeCallErrorProc
CheckAutoResult
Runtime error 229
IServerExceptionHandler
Error logging
Access violation
File system class
FSO object model
File system library
Microsoft Scripting Runtime
SCRRUN.DLL
TFileSystemObject
Drive types
Installed drives
Fixed and removable drives
Is drive ready
Disk space free
Disk size
GetDiskFreeSpaceEx
Drives over 2Gb size
Network drive disk quota
Drive available space
Disk volume name
FAT file system
Instrument monitoring
Data acquisition
Web animation
Server push
Client pull
GetDC and GetWindowDC
Make bitmap of window
Convert bitmap to JPEG
Refresh HTML META tag
http-equiv
RedrawWindow
InternetExpress Delphi 5
Reconcile errors
TSession.AutoSessionName
Multi-user database
Visual Data Module Designer
ADOTable
MIDAS 3 is stateless
Limiting number of records
OnBeforeGetRecords
XML packets
OnBeforeScroll
Posting record edits
Database update conflicts
Reconcile error dialog
HandleReconcileError
TReconcilePageProducer
MIDAS licensing
Crossword solutuion
Floating point variables
Floating point types
Efficiency and optimisation
real type
single type
double type
extended type
comp type
IEEE floating point types
FPU hardware
Floating point numbers
Mantissa and Exponent
Exponent bias
Not a number
Typecast single as longint
absolute qualifier
Floating point optimisation
Aligning doubles
Align to word boundary
Trunc and Round
Constant folding
Application framework
Object Oriented design
Business object model
Push and pull observers
Efficient variants
Early and late binding
Interface and dispinterface
ID binding
IDispatch.Invoke
GetIDsOfNames
Caching Dispids
Error 32
EInOutError.ErrorCode
Error codes
Using type library
Registering a type library
ManualDock
UseDockManager
Grabber lines
TDockTree
AdjustDockRect
PaintDockFrame
TProcessInformation
Launching an application
Run external program
Web, internet
ADO transaction processing
Windows registry
TWebBrowser documentation
Set Local Share in code
Select computer on network
Form painting
Dual processor problems
Easter Eggs in Delphi 5
TCustomLabel correction
Active web pages
Markup language engine
Data-driven web pages
Dynamic websites
COM object
Delphi 5 InternetExpress
WebBroker, MIDAS, XML
Web Editor components
Custom components
Debugging InternetExpress
Master-detail relations
Data-driven web apps
Custom InternetExpress
Missing data provider
XMLDataSetField bug
IntraBob 5.0
Web application debugging
ISAPI debugging
Embedding objects
Graphics in TRichEdits
Bitmaps in rich text
OLE objects
IRichEditOLECallback
em_SetOleCallback
safecall and stdcall
CreateIBytesOnHGlobal
StgCreateDocfileOnILockBytes
IStorage
OleCtnrs unit
TOleInPlaceFrameInfo
IVCLFrameForm
GetVCLFrameForm
OleFormObject
In-place editing
Editing OLE object
Directory navigation
Folders and directories
Encapsulate file system
Relative pathnames
Check if directory exists
How to use FileClose
FileCtrl unit
Scanning directories
Walk directory tree
FindFirst and FindNext
faDirectory attribute
Archive attribute
Total size of directory tree
Sum file sizes
TDatabase for BDE
Transaction DDL property
Data definition language DDL
DML
Nested transactions
Fake nesting SQL Server 6.5
TXactAttributes
xaCommitRetaining
xaAbortRetaining
Inner and outer transactions
Cursor types
Cursor locations
Lock types
CursorLocation
Client-side cursor
Server-side cursor
Client Cursor Library
CursorType
Transaction isolation
ilCursorStability
Dirty reads
Non-repeatable reads
Phantoms
Unique list of numbers
Bit set, Bitset
Setting bits
Bitsets in database queying
Bitsets as indices, indexes
Store long strings in TList
How long strings work
Copy on write semantics
Random selection
Select 10 items from 100
Spell checker
Spelling check
Phonetic, Soundex
Sounds like
Phonetic dictionary
ELF hash function
Registry component
Registry access
Registry keys
Stoing form size, location
File history lists
Simple hex file viewer
Hexadecimal
Saving form location
Using TCollection
Aggregate properties
COM+ Introduction
COM plus
Windows 2000
OLE 2.0
MSMQ
Microsoft Message Queue
COM+ services
COM+ transactions
DTC
COM+ security
Role-based security
Just-in-time activation, JIT
SetComplete, SetAbort
IObjectContext
SetDeactivateOnReturn
IContextState
Queued components
Object pooling
IObjectControl.CanBePooled
COM+ events
Connection points model
Per-method-level
Load balancing
In-memory database
TSPM
Registration database, RegDB
Neutral threading model
Thread neutral apartment TNA
Microsoft Management Console
MMC
Postdata
ActiveX Internet Explorer
Create a web browser
Web browser ActiveX
BeforeNavigate2
Web server application
Local Share and Paradox
Computer name
Browse computer name
TSocketConnection
TComputerNameProperty
ProcessMessage
Message queue
Symmetric Multi-Processing
SMP
Multiple processors
String reference counting
Threading bugs
Debugging threading
Threading model
Easter Eggs in C++Builder 4
Hyperlink label correction
Daylight savings correction
Multicaster class
Obrserver pattern
Update on safecall defined
QuickReport and printers
ActiveX security warning
Custom error strings in DLLs
Update to file i/o error
Data module problems
Reusing data modules
Updating record pointers
Multiple data modules
AddDataModule
RemoveDataModule
Data module name
Chained data modules
Data modules in IDE
Unknown database error
Business logic
Reusing business rules
Simulated annealing
Polynomial time
Knapsack problem
Travelling salesman problem
Intractable problems
Unsolvable problems
Boltzmann distribution
Probability
Find highest hill
Listen for events
Detect events
Singlecaster
Multiple event handlers
Event notification
Method references
Broadcasting
InternetExpress components
HTTPApp unit changes
WebBroker unit
WebBroker problems
DB Web App Wizard
Rotating banners
Advertising banners
Bitmap image
Internet ContentType
CGI, ISAPI
image/gif ContentType
Website redirection
HTML editor
Checkbox component
WebDispatcher bug
WebBroker Delphi 5 bugs
Push and pull models
Windows 2000 API
Windows 2000 certification
Windows installer
MSI
Windows 2000 logo
Application migration
Migration DLL
MEI
Migration Extension
System File Protection SFP
PROTECTED_FILE_DATA
SfcIsFileProtected
OnNow and ACPI
SetThreadExecutionState
Operating systems
DOM node type
MSXML DLL
Document fragment node type
XML data type conversions
ISO date and time
XML Data
XML patterns
Pattern specification MSXML
Extensible Stylesheet XSL
Pattern selection
Readers' questions
Is component in design mode
Is component in runtime mode
Design-time or runtime
IOleClientSite
IOleObject.GetClientSite
AxCtrls unit
UserMode for ActiveX
UserMode limitations
Multiple IDispatch interface
Running Object Table ROT
RegisterClassObject
Registering with ROT
Safecall directive
HResult return code
Selecting printer
TQuickRep.PrinterSettings
CopyFile
FMXUtils unit
File copy animation dialog
Animated progress dialog
Select directory
SHFILEOPSTRUCT
SHFileOperation
CopyFileEx
Using ActiveX control on web
Signed ActiveX
InternetExplorer
Authenticode
Verisign and GTE
GetLastError, SetLastError
RaiseLastWin32Error
EWin32Error
Message-table resource
Resource DLL
Message Compiler utility
Message-table in DLL
Windows error codes
Net help command
ADO batch updates
TDAteTime debugging
Executable file differences
Common control library
TImage.OnProgress
Custom grid drawing
BDE cached updates
BDE TClientDataset
Disconnected recordsets
Single tier applications
Remote Data Services
ADOExpress
TADODataset
UpdateBatch
LockType
ltBatchOptimistic lock type
CancelUpdates
CancelBatch
UpdateStatus
FilterGroup
upWhereChanged
Simultaneous updates
ADO Errors occurred
OnRecordChangeComplete
ADO master/detail
Data Shape Provider
ADO Auto-increment fields
Auto incremented
Access AutoNumber
Encryption
Cryptography
Cipher
Decryption
Plaintext and Ciphertext
Key or password
DES data encryption standard
Public key
Digital signature
Signed packages
Verisign
Cryptanalyst
Cryptanalysis
Substitution cipher
Caesar cipher
ROT13 cipher, Unix
Mono-alphabetic cipher
Vigenere cipher
Polyalphabetic substitution
Giovan Batista Belaso
XOR cipher
Windows CE ActiveSync
One time pad (one-time)
Transposition cipher
ADFGVX cipher
ENIGMA machine
Rotor machine
Bletchley Park
Alan Turing
The Bombe
Visibroker for Delphi 5
Type Library
IDL2Pas
Convert IDL to Pascal
Dynamic interface invocation
DII
Interface Repository
CORBA exceptions
File system object
File system classes
Waking directory tree
FindNext infinite loop
File change notifications
ShChangeNotify
FindFirstChangeNotification
WM_FILESYSCHANGE
Notification of file change
WaitForMultipleObject
Persistence framework
Data-aware
Problems with data aware
Visitor pattern
Business objects
Database engine independence
Iterator pattern
Factory pattern
Visitor manager pattern
Database independence
Connection points
Polling versus events
Tightly coupled event system
Loosely coupled event system
TCE and LCE
Publishers and subscribers
Event class server
Event filters
Subscriber server
TDateTime in watch list
Debugger
Watched variables
Executable timestamp
Date/time stamps
Compiler created timestamps
TDump utility
TListView checkboxes
Initialising dynamic arrays
FillChar
Progress bar
Image load progress
Colouring a row in TDBGrid
OnDrawDataCell
DefaultDrawing
Customising grid display
Customising rows and columns
OnDrawColumnCell
Sound and Graphics
Container classes Delphi 5
Persistent fields
TStrings and object owners
ListView checkbox changes
Keyboard and mouse events
Double buffered graphics
TApplicationEvents
Keyboard handling
WAV files, WAVE resources
Including resource scripts
.RC files
Getting free WAV files
Sound effects
MMSystem.PlaySound
Snd_Async
Snd_Resource
Force window to foreground
Force window to top
DebukHook
Recording sounds
Media control interface MCI
Internet Security
Firewalls
BlackICE Defender
Proxy server, proxies
httpsrvr.dll
TWebConnection
Secure Sockets Layer SSL
Secure HTTP, S-HTTP
HTTPS
Verisign and Thawte
Password-protected website
Password access
Protected web pages
HTTP headers
MIME-type
HTTP error 401 unauthorized
NPH- non protocol header
DrBobCGI unit
Base64 encoding
Base 64 encoding
WebModules
TWebRequest.Authorization
WWWAuthenticate
Realm
ActiveX security issues
RAS Services API
Remote Access Service
How to wrap a Windows API
Wrapping an API
API wrappers
Dial-up networking DUN
RASAPI32.DLL
RNAPH.DLL
RAS phonebooks
Dial-up phonebook
Windows NT and RAS
Make New Connection wizard
Enhanced TList
TInterfaceList
Self-sorting container class
TList.Extract
raise ... at address
TListNotification
TList.Notify
TList notifications
TList notify bugs
TStringListSortCompare
Sorting a StringList
TStringList.CustomSort
Classes unit
TClassList
TObjectList
Simple stacks and queues
TOrderedList
TQueue, TObjectQueue
Multithreaded programming
Processes, threads
Race condition
Primary thread
Multiprocessor machines
Synchronisation objects
Critical sections
LeaveCriticalSection
TryEnterCriticalSection
Deadlock
Signalled handle
Unsignalled handle
ReleaseMutex
OpenMutex
Semaphore
OpenSemaphore
Windows event objects
Win32Event
Auto reset event
Manual reset event
OpenEvent
PulseEvent
Readers/Writers problem
LockList and UnlockList
TThreadedList
Fields array of dataset
Syntax checking
Field properties and events
Lookup fields
Aggregate fields
OnCalcFields
SQL Join, equi-join
TTable and TQuery
Drag and drop fields
Replacement fields editor
Dataset designer
TBDEDesigner
TCDSDesigner
TDSDesigner
InterBase Express
Type mismatch for field
COM+ queued components
Microsoft message queue
COM+ server
Object briefcase
Recorder, listener, player
Scalability
Load scheduling
Module boundaries
Is and as operators
Safe typecasting
reInvalidCast
Adding event handlers
TMethodProperty
Object reference
What owns an object?
TItemChange
TListView.OnChange
TListItem.Checked
OnChanging
OnSelectItem
CanChange
Visual Form Inheritance VFI
Sound and graphics
Dragging and Dropping
Memos and scroll bars
MIDAS Delta packets
Drawing on status bars
Accessing application icons
COM RTL support
Object assignment
Object property assignment
Frames
Repository
Sub-forms
Enter moves between controls
TComponent.Notification
TComponent.Loaded
csInheritable
VFI drawbacks
ComponentStyle
Frames drawbacks
RAS Services
Phonebooks
Telephone API TAPI
RasGetCountryInfo
Country list dialing codes
Dial parameters
RAS connection manager
Connection notification
RASConnectionNotification
RASEnumConnections
RASGetConnectStatus
Compressing resources
ZLib compression
Keyboard scan codes
Wndows code page
Virtual key code
Localisation, Localization
Convert numbers and strings
VAL and STR
Resource localization
FindResourceHInstance
Finding resource DLL handle
Input Locales
Install keyboard layout
Control Panel
Keyboard applet
ToUnicode Windows NT
WideString and AnsiString
Unicode TLabel TStaticText
CreateWindowW
ELL
Windows metafiles
Enhanced metafiles
WAV resources
TCompressionStream
Keyboard state
Extended keys
Data Producers and Consumers
Readers and Writers
Queue
Thread-safe
InterlockedDecrement
Password access update
HTTP 401 Unauthorized
WWW-Authenticate update
Catastrophic failure error
CORBA error handling
VisiBroker for Delphi
SystemException
C++Builder exceptions
VisiBroker 3.4 problems
IDL exception definition
VCL drag and drop support
Drag source
Drag target, drop target
Controls
cm_Drag message
DragMode
dmAutomatic
dmManual
BeginDrag
Mouse.DragThreshold
Mouse.DragImmediate
Accept dragged object
OnDragDrop
CancelDrag
COM+ Security
Component Services tool
COM+ roles
Impersonation levels
Authentication level
DCOMCNFG
CoInitializeSecurity
CoSetProxyBlanket
Multi-tier performance COM+
Programmatic security
Declarative security
IsCallerInRole
Automatic scroll bars TMemo
Scrollbars
TClientDataset.Delta
Dataset changes
MIDAS licence fees
Data packet and delta packet
Reconcile, ApplyUpdates
OnUpdateData
Customised status bars
Icons on status bar
Status panels on status bar
SimplePanel
SHFILEINFO record
Extract application icon
SHGFI_EXETYPE
ProgID
Connect to Automation object
ClassID
Windows Running Object Table
ROT
OleCheck
Copying or assigning objects
AssignTo
Property assign or copy?
ReadDirectoryChangesW
ADO Batch Update correction
Delphi class engineering
Converting dates
My Documents folder
Getting UNC filenames
Add button to TToolBar
TMaskEdit bug
Add properties to ActiveX
Unhelpful panel
Clinic Corrections
Easy web controls
ADOX extensions to ADO
COM callbacks
Strings and streams
Optimised working set
Copy between richedits
Copy formatted text to Word
ActiveForm destruction
Class engineering
Application architecture
Enhanced RichEdit controls
InterBase security
InterBase express login
Strings to numbers
Editing ListView items
Persistent grid column data
Memos and BLOb fields
COM multi-threading
Which control has focus?
Automation server error
Component construction
Enhancing VCL drag and drop
Custom drag objects
Drag control objects
Complex OnDragOver
Complex OnDragDrop
TDragObject
TDragControlObject
Drag and dock
OnStartDrag
OnDragOver
IsDragObject
Custom drag cursor
GetDragCursor
GetDragImages
Merge image with drag cursor
crDrag and crNoDrop
Drag image list
ControlStyle problem
csDisplayDragImage
TDragImageList
Dragging and DLLs
Forms in DLLs
Drag and drop and DLLs
Issue 54 February 2000
BDE TUpdateMode
ADCPROP_UPDATECRITERIA_ENUM
Update Criteria
MDAC SDK 2.1
Alpha blending
Translucent windows
Transparent or translucent
SetWindowRGN
Apparent translucency
Layering
Window buffering
Flicker
Animation and layering
WS_EX_LAYERED
SetLayeredWindowAttributes
dwFlags
lwa_ColorKey
lwa_Alpha
bAlpha opactity level
crKey
Transparency by colour
Transparent colour
Shadowed windows
Window shadows
wm_WindowPosChanged
AnimateWindow
AW_HOR_POSITIVE
AW_VER_POSITIVE
Sliding windows
SPI_GetMenuAnimation
SPI_GetMenuFade
Animated menus
Sliding menus
Fading menus
UpdateLayeredWindow
Shrinker: problems?
Executable compressors
EXE compression
No data-aware controls
Data-aware disadvantages
Decoupling
Separate logic and interface
Application design
Visually representing sets
Data-aware grid problems
Transaction performance
Property sheets
TTabSheet for Master-Detail
Grid versus ListView
Populating a ListView
BeginUpdate and EndUpdate
MIDAS 3 and Delphi 5
N-tier
Instancing and threading
Visual data module designer
MIDAS UpdateRegistry
IProviderSupport
IAppServer
MIDAS server
Upgrade MIDAS 2 to MIDAS 3
SocketConnection
Socket Servers
NT Service
Stateless remote data module
Shared remote data modules
GetXMLRecords
Maintaining state
Deploying MIDAS
Object oriented development
Class, component, object
Class design
Components or controls
Class member visibility
Protected
Methods
OO design methods
Refactoring
Performance and optimisation
Profilers
Big-O notation (Big-Oh))
Sequential search
Time efficiency
Space efficiency
Space/time trade-off
String search and replace
Date in string format
Date string to TDateTime
StrToDate
Visual Basic DateValue
Finding My Documents
CSISDL_PERSONAL
Translate filename to UNC
ExpandUNCFilename
GetComputerName
SetToolBar
Customising a toolbar
Modifying VCL source
Recompiling the VCL
DBCLIENT.DLL
In-process COM servers
DLLs and COM servers
Add properties to ActiveForm
TActiveXControlFactory
TActiveFormFactory
ActiveXControlClass
WinControlClass
TActiveXFormControl
IPersistStreamInit
Panel HelpContext
WS_CLIPCHILDREN
WS_EX_CONTROLPARENT
Container control problems
Help for panels
Issue 47 July 1999
$Hints directive
Issue 53
World wide web www
Visual components in web app
Web app calendar
Visual component WebModule
Control wrapper
Response.ContentStream
TWinControl.PaintTo
Copy control to bitmap
Bitmap image of control
Printing a component
GetContentAsStream
Calendar component
Rotatable label
IntersectClipRect
Web chart control
Writing ASP objects
Server-side scripting
ASP scripting
ASP Object wizard
ActiveX library
CoClass Name
Page-level event methods
Object context and MTS
ASP Request
ASP Response
ASP Session
ciMultiInstance
ciSingleInstance
Deploying ASP Objects
Script, Execute attributes
IIS 4.0
ASP session information
ASP, CGI and ISAPI
State management
ASP.DLL
Debugging ASP objects
ADO security and DDO
SQL DDO and DCL
Database maintenance
Database security
Database creation
Data manipulation language
MDAC
ADOX type library
MSADOX.DLL
ADOX Catalog
Get_ActiveConnection
Set_ActiveConnection
CoCatalog
Create database ADO
Delete database ADO
_NewENum, IENumVariant
axPropWrite
Create table ADO
Autoincrement in ADO
Auto increment field
ParentCatalog
GetPermissions
SetPermissions
Enhanced group box component
Disabled group box
Group box child controls
Disable child controls
Greying-out child controls
TGroupBox
Group box caption
Group box border
Rotated caption
Caption background
Graduated fill
CreateFontIndirect
Inter-application
Receiving dragged data
Windows 3 drag and drop
WParam, LParam
Drop structure
DROPFILES structure
OleInitialize
OleUninitialize
RegisterDragDrop
RevokeDragDrop
IDropTarget
DragEnter
grfKeyState
DragOver
DragLeave
IAdviseSink
Drag and drop data formats
Drag and drop and clipboard
Woozle data format
FORMATETC, TFormatEtc
EnumFormatEtc
TClipFormat
Delphi 3 drag and drop
VCLComObject
Drag and drop storage medium
STGMEDIUM, TStgMedium
ReleaseStgMedium
GetDataAsText
Drag and drop data as text
CF_TEXT
GetDataAsRtf
Drag and drop data as RTF
CF_RTF
IRichEditOle
EM_GETOLEINTERFACE
CF_HDROP file list
CF_BITMAP, CF_PALETTE
Graphics unit
LoadFromClipboardFormat
CF_DIB
TBitMapFileHeader
CF_ENHMETAFILE
CopyEnhMetaFile
CF_METAFILEPICT
WMF files drag and drop
TMetaFilePict
GetMetaFileBitsEx
SetWinMetaFileBits
Get size of metafile
Drag and drop between apps
COM drag and drop
DES encryption
Private key encryption
Symmetric encryption
Data encryption standard
NSB, NIST
IBM Lucifer project
S-boxes
DES trapdoor
Advanced Encryption Standard
AES encryption
Block cypher
Brute force attack
DES encryption broken
E-boxes, S-boxes, P-boxes
Ciphertext stealing
Electronic codebook mode
ECB
Cipher block chaining mode
CBC
Weak keys, semi-weak keys
Triple-DES
DES-EEE3, DES-EDE3
RPC_E_WRONG_THREAD
COM proxies
Apartments
Data marshalling
CoMarshalInterThread...
CoInitializeEx
TFileStream and text file
SetProcessWorkingSetSize
Minimise memory use
Copying RTF text
Copying formatted text
IRichEditOleCallback
EM_SETOLECALLBACK
GetClipboardData
ImportDataObject
Copy RTF text to Word
TRichEdit to Word
OleIsCurrentClipboard
Process handle signalled
Calling Microsoft Paint
Calling Windows Explorer
File access monitor
Pbrush.exe and MSPaint.exe
Application.Terminated
List of ActiveForm events
How objects work
Compiler issues
Object oriented
Language Guide
Scope
Implementation and interface
Class declaration
Delphi units
Public, published, private
Constructors and destructors
Unit design
Forward declaration
Classes and units
Memory allocation and use
Form variable
Auto-create forms
Heap and stack
Variable initialisation
Memory use for strings
Object reference variable
Designing constructors
Using Inherited Create
TThread and inherited create
Designing destructors
Using inherited Destroy
Free and Destroy
Testing for nil
Using Self
Class data member
Benign leak
FreeAndNil
Object replication
Copying objects
ASP objects
Dynamic HTML
HTML forms, CGI forms
ASP request object
Forms, fat URL, cookies
IRequestDictionary
Password field in HTML form
POST and GET form methods
WebBroker and ASP objects
InternetExpress and ASP
Multi-threading ASP objects
BDE session conflicts
AutoSessionName
HTMLDoc property
TCustomWebDispatcher
XML from ASP objects
Generating XML
IIS
Infrastructure
Overriding methods
Entity forms
Business entity
Model-view approach
De-coupled user interface
Form inheritance
Frames versus components
Database primary key
Integer as primary key
Business object
RSA encryption
Public key encryption
Asymmetric encryption
Private and public keys
Exchanging keys
Public and secret keys
Modulo arithmetic
Binary square and multiply
Large powers
Prime numbers
Chinese remainder theorem
Leonard Euler
Pierre de Fermat
Wide word arithmetic
Large integer arithmetic
Fermat's Little Theorem
Probabilistic primality test
Carmichael numbers
Miller-Rabin algorithm
Multiplicative inverse
Euclid's extended algorithm
Loading text into TRichEdit
Load RTF into RichEdit
Formatted text into RichEdit
Store RTF text in form file
RTF as custom resource
TRichEditStrings
TRichEdit.Lines property
Fake properties
Component streaming
DefineProperties
TFiler
Visual form inheritance VFI
VFI and components
Property editor
Binding RTF file into EXE
Resource files .RES
Resource scripts .RC
$R directive
List of RTF solutions
Linux
TAR files
Unix
Cross-platform development
CLX
Delphi 6
Kylix: Delphi for Linux
QaPainter
Qt for Windows
Linux file system
Case-sensitive filenames
Archive files
Mutliple file archive
GZip and Tar
Coordinated Universal Time
Convert Octal to Integer
OctalToInt
Octal string
Linux file permissions
Encrypting network traffic
Secure network traffic
Internet security
IP address and port
WinSock API
InterBase on port 3050
Intercept TCP communication
Blocking or non-blocking
OnClientConnect
Custom message handlers
OnClientDisconnect
OnDisconnect
WSAECONNABORTED
Microsoft CryptoAPI
CAPI encryption
RC4 encryption
Streaming cypher
CryptCreateHash
CryptHashData
CryptDeriveKey
CryptEncrypt
CryptDecrypt
Encrypt with same data size
OnLogin
IBX login bug
TIBDatabase
FHiddenPassword
HidePassword
IBX patch
Convert string to float
Convert string to integer
StrToFloat, StrToInt
Intercepting exceptions
IDE debugging
No exceptions in IDE
TextToFloat
Val
Pe-initialised variables
Initialised variables
Static variables
$J compiler directive
$WriteableConst directive
EditCaption
LVM_EDITLABEL
Automatic comments
Generating date in IDE
delphi32.dci
Customising code templates
Saving grid column layout
Persistent runtime columns
TDBGrid.Columns.SaveToFile
WAIT_OBJECT_0
WAIT_TIMEOUT
Waiting for a process to end
Binary large object
Paradox BLOb fields
FieldValues
Multi-threaded applications
Multiple threads
Process identifier
Process handle
VCL not thread-safe
Single-threaded apartment
STA
Apartment-threaded model
Multi-threaded apartment
MTA
Free-threaded model
Thread-neutral apartment
TNA
COM+ Windows 2000
Thread local storage TLS
ComObj, ComServ units
Initialising COM
Proxy object
Message loop, message pump
OleMainThreadWndClass
OleMainThreadWndName
RPC thread pool
Thread affinity
Critical section
Choosing apartment type
COINIT_APARTMENTTHREADED
COINIT_MULTITHREADED
In-process COM server
Out-of-process COM server
RPC_E_CHANGED_MODE
ThreadingModel
Mixed-model process
CoInitFlags
COINIT_SPEED_OVER_MEMORY
Delphi 4 and CoInitFlags
COM errors
Marshaled
Marshaling interfaces
IGlobalInterfaceTable
RegisterInterfaceInGlobal
GetInterfaceFromGlobal
RevokeInterfaceFromGlobal
Creating STAs
TTypedComObjectFactory
Apartment interaction
Both-threading model
MTS, COM+, Windows 2000
Readers' emails and letters
Corrections
Issue 57 Algorithms Alfresco
Issue 44 Algorithms Alfresco
Storing Huffman tree
Writing out a tree
Rewading in a tree
Storing a binary tree
Issue 46 Algorithms Alfresco
RPN expression parsing
Equal precedence
Arithmetic expression
Reverse Polish notation
Memory overread
Issue 54 Algorithms Alfresco
Polish mathematicians
Rejewski
The Code Book, Simon Singh
Issue 42 Algorithms Alfresco
Double linked list
Records or objects
Linked list nodes
Linked list performance
Issue 51 Algorithms Alfresco
Data alignment
8 byte alignment padding
Align to 8 byte boundaries
Double type
Extended
Issue 50 Algorithms Alfresco
Red-black tree
Insert into red-black tree
Binary search tree
$R, $Q, $X
Overflow checking
Extended syntax
Choosing compiler options
Issue 53 Algorithms Alfresco
Competition
Borland Conference 2000
Actions and Action Lists
Web browsers
Deign by contract
Component hint on status bar
Tracking actions
Unwanted edit windows
Class properties
Public class data members
Properties as arrays
Get and set functions
Read and write specifiers
Default specifier
Read-only class data access
Write-only properties
Value by name properties
Stored specifier
Exceptions and properties
Property validation
Private properties
Indexed get and set methods
Property assignments
WinInet.DLL
WinSock 2.0
ws_32.dll
HTTP, FTP, Gopher
Delphi wrapper of WinINet
WinINet unit
InternetAutodial
Dialing internet connection
RAS dialup
Unattended dialup
Hanging up a connection
InternetAutodialHangup
InternetCheckConnection
InternetGoOnline
InternetGetConnectState
Proxy server
lpszProxyByPass
Using local cache
Internet_Flag_From_Cache
HINTERNET session handle
Browse an ftp server
FTP on port 21
HTTP on  port 80
HTTPS on port 443
Internet_Service_FTP
FTPGetCurrentDirectory
FTPSetCurrentDirectory
FTPFindFirstFile
FTP file finding
InternetFindNextFile
TWin32FindData
File date and time
Listing files on ftp server
GOPHER_FIND_DATA
InternetSetStatusCallback
FTP browser example
MIDAS 3
Object brokering
Remote data module wizard
State information
RegisterPooled
UnregisterPooled
Shared MIDAS servers
TCorbaConnection
TCustomObjectBroker
ServerName or ServerGUID
TSimpleObjectBroker
GetComputerForGUID
GetComputerForProgID
GetPortForComputer
TServerCollection
LastConnectionTimeStamp
Changing control focus
CtlFocus component
Highlight control with focus
OnActiveControlChange
Screen object
OnActiveFormChange
Event handler chain
Default TButton
CM_FOCUSCHANGED
CM_ messages
TCustomForm
TCMFocusChanged
Container controls
TWinControl and TComponent
Form subclassing
Windows subclassing
WndProc address
CM_ACTIVATE
CM_DEACTIVATE
Input-synchronous call
Outgoing call cannot be made
Unexpected COM errors
IDispatch.GetIDsOfNames
RPC_E_CANTCALLOUT...
COM threading
STA threading model
COM proxy object
COM and timers
InSendMessage
Email components
TMapiRecipDescrip
TMapiFileDesc
Automating Outlook
SMTP
Form events sequence
CreateNew constructor
Form Create constructor
fsCreating in FormState
Determine form state
FindClass
csLoading, csReading
Determine component state
Loaded
AfterConstruction
Using inherited
Using override
Screensaver
WideString properties
Searching in ADSI
Debugging the heap manager
Linking data files into .EXE
Using the CPU window
Open array and dynamic array
Corrup component palette
WriteComponent
WriteComponentRes
Streaming Windows resources
Screensaver generator
Slideshow
.SCR files
RegisterClass declared twice
Dragging and docking
BorDebug.DLL
Effective Class Engineering
Delphi junction crossword
InterBase generators
Avoid debugging the VCL
BDE Paradox user limit
Label captions missing
NT task manager
Scrolling system tray text
Using string types
Choosing string types
Character types
Char, AnsiChar, WideChar
ANSI character type
Ord, Chr, UpCase
Character functions
Ordinal number of character
PAnsiChar, PWideChar
C/C++ char* type
$X+ compiler directive
ShortString, short string
$R+ compiler directive
Uppercasing strings
String performance
Long strings, AnsiString
Reference counted strings
UniqueString
LongString
AnsiString performance
Wide strings
WideString and COM
ResourceString
Using InterBase from Delphi
WebBroker without the web
Jet database engine
Delphi Junction solution
Web application design
Extending actions
ActiveX in Internet Explorer
Unit usage
Change paper orientation
Minimize on run
Code Parameters tooltip
Database pools
Delphi and .NET
Data shape OLE DB provider
Time zone conversion
DataSet actions problem
VCL keystroke handling
Custom edit control
Drag and drop hot spots
Records in variants
TActionList
Shared event handlers
User-generated commands
Trigger controls
Action clients
Action targets
Why use actions?
TImageList for action images
Action List Editor
Creating actions
Action category
Events for actions
Action event handlers
Invoking actions
Action keyboard shortcuts
Custom actions
Standard actions
Pre-defined actions
Action classes: TBasicAction
TContainedAction
TCustomAction
THintAction
Action link classes
Actions, data-aware controls
TBasicActionLink
TActionLink
TMenuActionLink
TControlActionLink
TToolButtonActionLink
Action architecture
Updating actions
Creating standard actions
Initialise standard actions
Register standard actions
Data modules and actions
WinInet
Downloading files using FTP
FtpGetFile
Size of files for FTP
FTP browser
Caching algorithms
File cache
Setting maximum cache size
Chooisng algorithms
Choosing data structures
Clearing a cache
File cache class
Hash table versus StringList
Chooisng data structures
Collisions in hash tables
Hash table load factor
Chaining
Collision resolution methods
Extending Internet Explorer
Browser help objects, BHO
Internet Explorer extensions
Automation objects
Registering a BHO
CoClass GUID
IE5 BHO bug
Multiple BHOs in IE5
IObjectWithSite
IWebBrowser2
SHDocVW unit
Web browser events
Browser form manager
Manipulating HTML in IE5
MSHTML unit
Inheritance and aggregation
Bertrand Meyer
Eiffel language
Programmer errors
Breach of contract
Assert procedure
EAssertionFailed
$ASSERTIONS
Pre-conditions
Post-conditions
Invariants
Using assertions
Assertions and inheritance
Assertions and subclassing
Hints on status bars
Setting up event handlers
Creating event handlers
TStatusBar
TStatusBar.SimplePanel
AutoHint
Actions
ExecuteAction
Tracing action execution
TApplication.OnExecuteAction
Scan code $7F
Virtual key code 0
Illegal keyboard scan code
ecNewEditWindow
Invalid shortcuts
CreateFileA and CreateFileW
PChar and PWideChar
Using Unicode strings
TWinControl and ANSI
DefineProperty
TReader, TWriter
WideString property editor
TStringProperty
TypeInfo.GetPropInfo
Owner draw property editor
Storing WideStrings in .DFM
Local ClientDataSets
MIDAS.DLL
Load data into ClientDataset
ClientDataSet and XML
XML metadata and row data
ADODataSet XML
Convert dataset to XML
Export dataset to XML
Convert XML to dataset
Create table from XML
<METADATA> XML tag
Field definitions in XML
Designing classes
ClassName function
Private, public, protected
Protected class members
Inherited methods
Override directive
vmtInstanceSize
vmtNewInstance
vmtFreeInstance
ADSI
Active Directory Service
LDAP
Directory Access Protocol
Novell Netware NDS
ADSI component
IDirectorySearch
ADO queries and ADSI
ActiveDs.dll
Search base
AbandonSearch
ExecuteSearch
Wrapping COM objects
CoInitialize, CoUnInitialize
LDAP filter syntax
OLE BSTR strings
Delphi unicode library
LDAP search expressions
Invalid pointer operation
FreeMem, Dispose
GetMem, New
Borlndmm.dll heap manager
Exceptions in heap debugging
Memory alignment
Free list
Previous free block is bad
Memory overwrites
Guard bytes
Guard blocks
Delayed freeing
GetProcessHeap
TQueue
Text file device driver
CAB files
Microsoft cabinet files
Cabinet.dll
CAB SDK
Compression, decompression
Creating CAB files
FDICreate
FDIDestroy
FDIIsCabinet
TFDICabinetInfo
CAB file folders
Spanning
FDICopy
FDINotify
CDECL calling convention
TFDINotification
Wrapping the CAB API
Access Outlook from the web
Outlook over internet
Web interface for Outlook
ISAPI applications
COM applications
StringReplace
ReadFile, WriteFile
Blocking functions
Communicating with Outlook
Constructing a calendar
IsLeapYear
Cannot open pipe
Binary to object converter
BinObj32
Binary to .OBJ
Linking bitmap into .EXE
Interposer class
TMemoryStream.SetPointer
Custom resources
Compiling resources
Open parameter types
Open array parameters
Variant open array
Video card driver problems
Comctl32.dll
BusThrottle in system.ini
Docking windows
Docking toolbars
Undocking, ripping off
DragMode, DragKind
Dock image
Floating toolbar
DockSite, dock site
OnStartDock, OnEndDock
OnDockOver
OnDockDrop
MouseDeltaY problem
TDragDockObject
MouseDeltaX
OnGetSiteInfo
Form grabber
Panel grabber
InfluenceRect
Programmatic docking
Automatick docking
ManualDock, ManualFloat
Floating
Is control docked?
Creating dock zones
Dock panels
Custom docking
DoAddDockClient
DoRemoveDockClient
Custom drag image
TCustomDockForm
HostDockSite
FloatingDockSiteClass
Multiple docked clients
Dock manager
Creating dock manager
TToolDockObject
Local ClientDataset
Filters
n-tier applications
TServerSocket, TClientSocket
Port numbers
Local DBMS
OnClientConnection
SQL components
Custom shell verbs
XML and XSLT
Printing web pages
SetParent Windows API
Moving components
Unreadable tooltips
Package editor window
Kylix first look review
Threaded inner-process comm
Visibroker 3.3 for Delphi 5
Appbars
File differencing
Mathematical expressions
Debugging NT services
Transient stay-on-top
Introduction to properties
Perspectives
File-based synchronisation
Auto-repeat buttons
Paradox and euro symbol
Public properties
Popup data grids
Turbo debugger 32, TD32
Reading debugger data
IDE debugger
Turbo Debugger file format
Microsoft debugger format
Giant.txt
Giant format
Debugging settings
Compiler configuration
TDStrp32.exe
Stripping out debug data
EXE file structure
.TDS files
BorDebugRegisterFile
EXE file subsections
Modules
BorDebugSubSectionCount
AlignSym
Segments
Source module ranges
Source file ranges
GlobalSym
GlobalPub
Symbol type index
BorDebug wrapper classes
Debug data dump
Apache shared modules
Scene graph management
Kylix technical overview
XML One conference report
FlashFiler 2.0
Conditional symbols
RTTI and interfaces
TImage apparent memory leak
Intercepting window closure
Emailing with Outlook
TOleContainer
Installing Kylix from root
Kylix configuration files
Kylix and Linux versions
dbExpress tips and tricks
How CLX uses QT
CodeSite 2.0 Professional
SQL Tester
Error starting Kylix
Linux API
Choosing COM objects
Stack-based objects
C# language
ADO.NET
Delphi 6 overview
Delphi 6 cross-platform
Debugger windows
Reading SDF files
Hiding from task manager
Windows terminal services
Dynamic web images
Perpsectives
Titanium 2.0
GExperts 1.0
Record properties
Delphi IDE toolbar problem
Destroying components
Microsoft Word automation
Reading Excel spreadhseet
Updates
Abstract methods
TStream, stream objects
Manage and store strings
Designing class hierarchies
VMT virtual method table
Constructors
inherited keyword
Hidden properties
Inherited properties
Inherited method calls
Reintroduce keyword
Suppress warnings
GDI graphics
Display mode enumeration
Available resolutions
QuickRes
EnumDisplaySettings
Screen size
Enum_Current_Settings
Changing display mode
Changing screen resolution
ChangeDisplaySettings
Marching ants
Highlight selected item
LineDDA
Delphi DCU file format
DeDe Delphi decompiler
Crossword puzzle
Sorting large files
Quicksort problems
Mergesort, merge sort
File-based sorting
Generate unique value
Generate unique key
AutoGenerateValue
arAutoInc
Auto incrementing
AutoRefresh
Turn Debug DCUs off
Splash screen
Memory usage
QueryWorkingSet
RegisterIntegerConsts
Integer constant properties
Not using BDE
Kylix, Linux
InterBase Express, IBX
TIBTransaction essential
TIBTable
TIBQuery
IBExpress
DBExpress
Installing InterBase
IBPhoenix
Open Source
Windows NT service pack 5
Metadata
SQL command text editor
Basic SQL commands
SQL UPDATE
SQL INSERT, DELETE
SQL WHERE
SQL string matching % and *
SQL wildcards
SQL SUM, AVG COUNT
InterBase View
Creation order of objects
TObject.Create
Custom heap manager
EBP stack base pointer
System._GetMem
Heap fragmentation
Memory manager
Weighted random numbers
Percentiles
Partition algorithm
Mergesort arbitrary data
Zlib compression
Generating HTML output
HTMLFile
HTML template files
Replacing HTML tags
Saving TPageProducer output
Form printing
Form templates
Database reports
DataSetPageProducer
PageProducer text parsing
Delphi IDE secrets
IDE-only packages
CORIDE50 package
DSNIDE50 package
Dockable IDE add-ins
Dockable IDE windows
Writing IDE experts
TDockableForm
DeskForm unit
RegisterDesktopFormClass
DeskUtil
Desktop configuration file
SaveWindowState
IDE toolbar forms
TDockableToolbarForm
IDECommandButton
TCommandButton
Jet OLE DB provider
Installable ISAM drivers
Paradox through Jet
Excel through Jet
Jet Extended Properties
Schema.ini
Text ISAM driver
Jet data export
Jet HTML data import
WAP
Wireless
WML
Mobile phones
Nokia WAP toolkit
WML tags
WMLScript, ECMAScript
WebBroker and WML
Dynamic WML
WAP gateway
Internet integration
ISAPI, CGI, WinCGI
Stress testing
Actions and Action lists
SendAppMessage
ActiveX Licensing
IClassFactory2
Licence file .LIC
CreateInstanceLic
RequestLicKey
Licence package file .LPK
License Package Authoring
LPK_Tool.exe
Unused units in uses
Uses clause
Printer DEVMODE
DM_ORIENTATION
GetPrinter, SetPrinter
GlobalLock, GlobalUnlock
Handle to pointer
OpenPrinter
DocumentProperties
Stepping through code
Gutter width
bordbk50.dll missing
Debugger kernel missing
Database connection delay
Query queues
Database pool component
InterBase Express IBX
Query queue component
GDI+
.NET framework
Using .NET libraries
GDIPLUS.DLL
SystemDrawing.dll
ILDASM
GdipCreatefromHDC
Graphics surface
Device context handler
GDI+ brushes
Transparency
GDI+ brush types
Draw arbitrary paths
Bezier curves
ADO recordsets
MSDataShape
Hierarchical recordsets
Master/detail
SQL SHAPE
Persistent datasets
SQL RELATE
ADOExpress bug
Reshaping
Aggregate functions
Grouping data with COMPUTE
Adding blank fields
Custom shapes
Finite automata
Finite state machines
Replace characters in string
States, tokens
Search and replace
String replacement
Automaton
Deterministic
Non-deterministic
String validation
Backtracking
Regular expression matching
Using events
Procedural types
Creating new event types
Exception types
Try..except
Assign method
Message handler
Wireless devices
WML images, WBMP
Mime types
Generating WBMP
Dynamic images
DatasetTableProducer for WML
Generating WML
Database and WML
Time standards
Daylight saving time
GMT
Swatch Internet Time
UTZ PST TZ
ESBDates package
TIME_ZONE_INFORMATION
British Summertime
Bias, DaylightBias
Day in a month format
Day of the month
Calendar
UpdateAction
UpdateTarget
ExecuteTarget
Alt key behaviour on a form
MDI and SDI
TCustomControl
Forms and dialogs
wm_GetDlgCode
DLG_WANTCHARS
WM_CHAR
Processing keystrokes
Custom drag object
SetDragImage
Packed record
Safecall calling convention
Automation-compatible types
VarArrayCreate
Array from Variant
$DEFINE
$IFDEF
$UNDEF
Searching databases
Searching and filtering
Ranges, filters
Lookup
Building SQL queries
Expression matching
Parse regular expression
Regex
Top-down parser
Metacharacter
Grammar
Regular expression parser
DDE handler
Shell extension objects
COM shell extensions
DDE server
DDE service
ddeMgr.Appname
DDE macro
File association
DDE message
ShellExecute, ShellExecuteEx
Write DDE server
TDdeServerConv bug
Canonical verbs
OnExecuteMacro
DSNIDE50
IDE Experts
DeskForm, DockToolForm
DSGINTF
DockableToolbarForm
Docking forms Delphi IDE
Toolbar forms Delphi IDE
Deciphering DCU files
IDEMessages
Delphi IDE messages
TJoinDockForm
VisiBroker 3.3 for Delphi 5
Create CORBA servers
IDL Interface definition
CORBA client
Basic Object Adaptor BOA
BOA.ImplIsReady
BOA.ObjIsReady
CorbaInitialize
Server skeleton
Client stub
Martin Fowler
Converting procedural code
Converting code to OO
N-Tier applications
Multi-tier
Project builder utility
Build and make projects
DCC32.exe
Redirect DOS process output
Bad smells
Speculative generality
Long method stink
XSL Stylesheet
XML transformation
W3C standards
XML document elements
XML tags
XSLT processors
XT, Saxon
Namespace
Converting XML
Filtering XML elements
Using XSLT for filtering
<xsl:for-each>
XPath
<xsl:if>
MSXML type library
Sorting XML using XSLT
Microsoft MSXML3
XSL98 and XSLT
BizTalk Mapper
Printing Internet Explorer
Window focus
ExecWB
QueryStatusWB
OLECMDID_PRINT
VCL SetParent
WM_COMMAND
WM_NOTIFY
Component notification
Tooltip font colour color
TKibitzHintWindow
HintHidePause
Package editor not visible
Delphi for Linux
Pascal
CLX and VCL
Qt library
Trolltech
QObjectList
QObjectList_count
Installing Kylix
Linux distributions
VMWare
KDE
Kylix IDE
TLCDNumber
Qt widgets
Linux SO libraries
Linux DLLs
Kylix packages
Inner-process communication
Communicate between threads
Initialising thread
CreateSuspended
TThread.resume
TThreadRec
TCriticalSection
Blocking execution
Thread synchronisation
Thread synchronization
TMultiReadExclusiveWriteS...
Multiple threads reading
Global variables and threads
ThreadVar
Thread message queues
Sleeping
Terminated flag
TThread.Terminate
OnTerminate
FsynchronizeException
Thread returning results
Return results from thread
FreeOnTerminate
Capturing thread exceptions
Debugging threads
Delphi IDE thread status
Dr Watson utility
drwtsn32.exe
TThreadList thread-safe
Thread-safe objects
Priority class
NORMAL_PRIORITY_CLASS
Maximum threads
Thread-safe DLLs
ShareMem
DLL_THREAD_ATTACH
Databases and threading
Enum, union, sequence
IDL2PAS
CORBA callbacks
Clipboard viewer
Anchoring forms
SHAppBarMessage
APPBARDATA structure
ShellAPI.TAppBarData
wmAppBarMessage
ABM_QUERYPOS
ABM_SETPOS
Appbar messages
Appbar notifications
WMWindowPosChanging
SetClipboardViewer
WM_DrawClipboard
WM_ChangeCBChain
Longest common subsequence
File comparison
Comparing files
File changes
Unix DIFF
WinDiff
String differences
Transforming words
String subsequence
Fibonacci number
Matrix class
Matrix algorithm
Parsing expressions
Expression parser
Formula evaluation
Generating machine code
Pentium processor
Branch prediction logic
Misprediction penalty
Stefan Hoffmeister
Parser10 library
Parser component
Mathematical functions
Delayed DLL loading
PAGE_EXECUTE flag
Plotting XY functions
Graphs and charts
TeeChart
Code optimisation
Saving the Windows desktop
Windows desktop layout
Desktop icon locations
DLL injection
Arrange desktop icons
12Ghosts SaveLayout
Desktop snapshot
vsIcon
ProgMan program manager
Shell view router
Shell desktop programming
LVM_GetItemCount
CommCtrl
Hooking a thread
Application process space
Explorer address space
C++ pragma
Shared data segment
Shared data section
Hook message queue
NT Service applications
Windows NT Windows 2000
Delphi 5 built-in debugger
NT Task Scheduler
AT command
Security context
LocalSystem
Scheduling jobs
ServiceExecute
Shell control pack
Plasmatech
DirectoryListBox
DriveComboBox
Select a directory
Windows shell wrapper
Dave Baldwin
HTML display
HTML components
HTML viewer
Making DLLs smaller
Smart linker
Floating windows
fsStayOnTop FormStyle
WM_ACTIVATEAPP
NormalizeTopmosts
RestoreTopmosts
OnDeactivate handler
Scrolling treeview
Scroll when drop to treeview
ScrollBars
DD_DEFSCROLLINSET
Inset region
DD_DEFSCROLLDELAY
Scroll delay
Scroll interval
DD_DEFSCROLLINTERVAL
DragScrollInset
DragScrollDelay
DragScrollInterval
win.ini
SOAP
Internet, world wide web
Microsoft SOAP toolkit 2.0
UDDI, WSDL
SOAP request
SOAP listener
SOAP endpoint
SOAP message structure
SOAP envelope
SOAP header
SOAP child
<SOAP-ENV:Envelope>
<SOAP-ENV:Body>
Web Services
XML schema
Creating WSDL
WSML
Web Service Meta Language
Building web services
Wsdlgen.exe
MSSOAP.SoapServer
ASP response object
Calling web services
Consuming web services
MSSOAP.SoapClient
Registry of web services
BizTalk Server
Databases
DataField
FFieldDataLink
DB, DBCtrls units
Is a component data-aware?
Detect data-awareness
Interface method
GetInterface
Is an interface implemented?
Data-aware interface
Test for an interface
Using properties
Properties without component
Delphi and Kylix
Object properties
How properties work
Reader and writer
Get and set routines
Getter and setter
Private fields
Hiding the implementation
Property visibility
Indexed property
Microsoft Visual Studio .NET
VS.NET
Intermediate language IL
Common language runtime CLR
Just-in-time compiler
Anders Hejlsberg
Pascal, Java and c#
ASP.NET
State machines
Parsing Object Pascal
Pascal parser
Extracting comments
Parsing by character
Streams, TStream
Stream filter
Read file by character
Buffered stream
Line endings
Tokenizing
Pascal tokens
Recognising keywords
Regex testing
Exponential regex
X(.+)+X regex
Convert NFA to DFA
TList in Delphi 5
TObjectList performance
Synchronisation primitives
Signal
Shared read mode
File-based mutex
File-based critical section
File-based group
Process group
Synchronisation event
File-based SendMessage
Single writer multiple read
Save desktop icons
UnhookWindowsHookEx
WM_COPYDATA
Desktop icon caption
LVM_GetItemText
LVITEM structure
Send data between processes
dwData integer not pointer
Speed button, tool button
OnMouseDown
OnMouseUp
ControlState
Paradox database
Euro currency symbol
Local variable unavailable
Optimisation, optimization
Evaluate local variable
Compiler switches
Defproj.dof, Defproj.kof
Default project options
Published properties
Data hiding
Getters and setters
Get/Set routines
Accessor routines
Implementation hiding
MIDAS master/detail query
Kylix
Apache web server
ScriptAlias
ExecCGI
LD_LIBRARY_PATH
Set Env LANG
Linux glibc library
SysUtils.CheckLocale
Linux .so files
Shared libraries
DSO libraries
dlOpen Linux API
Linux dynamic library loader
ld.so
Locating Kylix libraries
/usr and /usr/lib
Symlinks
Apache soure code
Recompile Apache
libhttpd.so
libhttpd.ep
pthread library
Linux loader bug
Kylix shared objects Apache
Kylix help error
Configuring Kylix dbExpress
MIDAS libmidas.so.1
Loading shared modules
LoadModule
Module handler
dipslib.dll
Desktop icon positions
Save and restore desktop
Inject DLL into Explorer
Send message to component
Forms unit
Allocate window handle
Desktop icon text colour
Transparent text background
CLR_NONE colour
Listview bug and CLR_NONE
Listview control redraw bug
WM_GETTEXT
LVM_SETITEMPOSITION
Set desktop icon position
ListView_SetItemTextA
RedrawSingleItem bug
Redraw one listview item
LVM_FindItem
Screen resolution
OpenGL 3D graphics
3D objects
Object view culling
OpenGL Rendering
OpenGL API
OpenGL32.dll
Window pixel format
Transformation matrix
Transformation matrices
ModelView matrix
ViewPort matrix
Projection matrix
Immediate mode
Matrix stack
Rendering invisible objects
GL_SELECT GL_RENDER
gluPickMatrix
DataCLX
dbExpress
Kylix and Delphi 6
MyBase XML database engine
VisualCLX
TSQLConnection
TSQLDataset
TSQLQuery
TSQLTable
TSQLStoredProcedure
TSQLMonitor
Unidirectional cursor
Browsing backwards
TSQLClientDataset
Delta packets
AfterPost
.CDS and .XML files
Migrating from BDE
Convert BDE tables to XML
Linux kernel patches
Indy, WinShoes
w2kwm Window manager
Kylix components
Kylix IDE performance
VMWare performance problem
Thrddemo
Running apps from Kylix IDE
Deploying Kylix applications
Libqtintf.so
Libqt.so
Find required libraries
ldd utility
Wine Windows emulation
Winelib
Wine thread problems?
Kylixpath shell script
~/.bashrc file
Linux "autoexec.bat"
Hidden files
Compound files
Structured storage
Extendible hash table
File system
DOS FAT
Clusters
Back to basics
Object inspector
Published section
Read-only properties
Default keyword
Default property
Property storage
Property persistence
.DFM form file
Streaming properties
Stored keyword
How RTTI works
RTTI implementation
Properties in .NET
Properties in c#
SvCom 4.0
Alexey Dynnikov
NT service applications
NT security framework
Pseudo-services
Windows 95, 98, Me
NT services emulation
NET START command
Database engine
Embedded databases
Conditional defines
DOF and KOF files
$INCLUDE include file
Published interface property
ReferenceInterface
Bitmap graphics
Freeing bitmaps
Disabling Alt+F4
Disabling window close
WM_CLOSE
URL syntax
Mailto command
Maximum URL length
SW_SHOWMAXIMIZED
Maximise window
Embedded Excel object
OleCreate
TCreateInfo
CreateType
Force new process
Not /root/kylix
/usr/local/kylix better
Linux distributions distros
Linux patches
Kylix Easter eggs
dbxdrivers dbxconnections
dbExpress drivers
BeforeConnect
LoadParamsOnconnect
LoadParamsFromINIFile
Loading connection parameter
dbExpress metadata
GetFieldNames
GetProcedureNames
GetProcedureParams
TSQLDataSet
SetSchemaInfo
Executing SQL directly
Read-only recordsets
Execute, ExecuteDirect
dbExpress error codes
SQLConst unit
DBXError array
Connection cloning
ActiveStatements
MaxStmtsPerConn
Maximum statements
Statements per connection
AutoClone
MySQL
Tracing SQL calls
SQLTraceDesc
Displaying TSQLMonitor data
dbExpress performance
Deploying dbExpress
DBEXPINT.DLL
libsqllib.so.1
midas.so
Statically linking dbExpress
WebBroker for Linux
WebActionItem
PathInfo
SetEnv LD_LIBRARY_PATH
httpd.conf file
CookieFields
ContentFields
QueryFields
HTMLDoc HTMLFile
Deploying Kylix web apps
SetEnv LANG in httpd.conf
SetEnv HOME in httpd.conf
QT library
Widget sets
Linux user interface
X Windows
KDE desktop
Gnome and GTK widget set
QT documentation
QTinterface library
libqt.so
Name decoration
libqtintf.so
Flat methods
Calling C++ classes
Flattened classes
CLXDisplay API
Qt.pas unit
Opaque references
Magic cookie, handle
QPushButton
TWidgetControl
Widget flags
SaveWidgetState
RestoreWidgetState
QT notification model
VCL message handlers
VCL events
X Windows events
MotionNotify
KeyPress KeyRelease
ButtonPress ButtonRelease
QT events
QT virtual methods
QEvent
QMouseEvent
QT signals and slots
CLX events
Linux signals
Hook objects
Hooking a QT signal
HookEvents
QWidget_hook
MainEventFilter
Qt_hook_hook_events
installEventFilter
QEventType
QEventType_ClxUser
QCustomEvent
QApplicarion_sendEvent
QT licensing
Linux API with Kylix
Kylix architecture
Linux kernel
Kernel interrupt $80
syscall routine in libc.pas
libc.so.6
glibc2 glibc
GNU
dlopen
RTLD_LAZY
RTLD_NOW
Undefined symbols
RTLD_GLOBAL
CreateGUID
Creating processes
Managing processes
/proc directory
Linux system call
Fork
Blocking
pid process identifier
xlib.pas
bplbaseclx
Xlib
X protocol
XCreateWindow
XOpenDisplay
XDefaultRootWindow
XMapWindow
XFlush
__sleep
Palm palmtop computer
Personal digital assistant
PDA
WinCE Windows CE
Palm versus PocketPC
PalmOS
Graffiti
Handwriting recognition
EPOC Psion
Handspring Visor
Sony Clie
Synchronise Palm and PC
Delphi and Palm
HotSync conduits
Ehand conduit ActiveX
Conduit development kit
Delphi conduit components
Writing Palm applications
Palm applications in Delphi
PocketStudio
Palm OS emulator POSE
Extending TStream
Filter streams
TStream descendants
Read-only filter stream
Buffering filter streams
Bufferred TFileStream
Text filter stream
Parse text into lines
Debug filter stream
Regex filter stream
Regular expression bug
Encryption filter stream
Window filter stream
Multiple views of stream
Raize Components
Ray Konopka
Debugging tools
Diagnostic messages
Red Brook Software
Testing SQL statements
BDE, MDAC
Runtime error 230 Kylix
JPEG library compilation
startkylix script
JPEG error #21
jpeglib.h
D_MAX_BLOCKS_IN_MCU
JPEG decompressor
JPG files
Translate Delphi to Kylix
Windows API Linux
Translated Win32 API calls
getlogin security problem
LOGNAME
GetEnvironmentVariable Kylix
getuid get user ID
getpwuid
Do not use cuserid
geteuid
OutputDebugString Kylix
syslog Linux system logging
varargs directive
Variable number of arguments
Select COM object at runtime
ClassID coclass identifier
Dynamically loading ActiveX
Register ActiveX
DllGetClassObject
Underscores on interfaces
Identifier clashes
Tlibimp.sym
Remapping type library names
Performance of small objects
Construction small objects
Destruction small objects
Initialise VMT pointers
Memory allocation speed
Allocating objects on stack
BeforeConstruction
EOutOfMemory
FreeMem
Stack-based construction
Fast object construction
$A compiler directive
Aligned record fields
InstanceSize
Distribution sort
Radix sort
Key comparisons
Sort with no key comparison
Performance
Counting sort
Stability of sort
Stable sort
MSD radix sorting
Most significant digit
LSD radix sort
Least significant digit
Choosing sorting algorithm
Using C# with Delphi
ECMA standards
.NET interoperability
Delphi objects with C#
MISL, IL
CLR
Common language runtime
CLS language specification
Managed code
Creating c# object
COM components
COM callable wrapper
Shared name
Global assembly cache
.NET assemblies
Assembly versioning
IL disassembler
regasm.exe type library tool
Runtime callable wrapper RCW
Visual Studio .NET
.NET metadata
CGI with Kylix Desktop
Kylix console applications
HTML content-type
text/html
kylixpath script
httpd.conf
REQUEST_METHOD
CONTENT_LENGTH
CGI variables
QUERY_STRING
HTTP_COOKIE
REMOTE_ADDR
SCRIPT_NAME
PATH_INFO
HTML form variables
dbExpress database
Interbase in CGI
Unidirectional dataset
SysUtils.StrToIntDef
Dataset navigation
Visual Studio .NET Beta 1
ADO+
Remote data services RDS
COM marshaling
COM calls and firewalls
OLEDB classes
Tabular data stream TDS
Regasm.exe utility
Com wrapper for .NET
COMSystemData.dll
System.data assembly
CreateCOMObject
SQLConnection
SQLCommand
DataReader
Read-only cursor
Firehose cursor
DataSetCommand
oWorkAround
DataAdapter
.NET COM interop layer
DataRelation
Writing ADO.NET data
Import export XML
WriteDiffGram
Windows XP
Roxio, Adaptec
CD-R, CD-RW
Visual themes
Window client area
Comctl32.dll Windows XP
Comctl32 version 6
Shaped windows
Window transparency effects
Alpha-blending
Uxtheme.dll
GetThemeFont
GetThemeMetric
Switching Windows users
Fast user switching
Session switching
Fusion
Side-by-side DLL technology
System file protection SFP
DLL hell
Shared DLL problems
Application manifest
User experience controls
RT_MANIFEST resource
publicKeyToken
WinSxS
WM_WTSESSION_CHANGE
Remote connects
Delphi 6 features
BizSnap
SOAP and XML
IInvokable
THTTPSoapDispatcher
THTTPSoapPascalInvoker
TWSDLHTMLPublish
WSDL
TXMLDocument
XML document manipulation
XML data binding wizard
XML DOM level 2 parser
WebSnap
Apache web server Windows
SiteExpress
ActiveScript languages
Adapter components
TDataSetAdapter
XSL
Web application wizard
Web app debugger
DataSnap
TSoapConnection
Soap Server data module
ConnectionBroker
TLocalConnection
Delphi 6 IDE
Data module designer
Object treeview
Surface designers
Delphi 6 compiler changes
Writeable typed constants
$WRITEABLECONST
Disable writeable constants
Library directive
Platform directive
$WARN compiler directive
Hint directives
Disable compiler warnings
MSWINDOWS symbol
$MESSAGE compiler directive
$LIBVERSION
$LIBSUFFIX
$LIBPREFIX
$SetPEFlags
PE file header
$SetPEOpt
DLLCharacteristics
CONDITIONALEXPRESSIONS
CHASM inline assembler
COM+
Custom variants
ConvUtils conversion
Conversion routines
Euro conversion
Shell controls
Translation tools
External translation manager
Delphi 6 and Kylix
Linux and Windows
Deployment of CLX apps
Qtintf.dll
Depends.exe
DLL dependency
Qtintf load address
CLX performance versus VCL
QT 3.0
SetThreadPriority
Qt performance on Windows
Customise Delphi IDE
Editing desktop file
Retrieve lost windows
System Data Format
Does component have caption
Typinfo unit
IsPublishedProp
GetStrProp
OLE streams
OLEStream
Interface not accessible
IStream, IUnknown
Windows task manager
Windows services
RegisterServiceProcess
Simple service application
WM_ENDSESSION
ENDSESSION_LOGOFF
Window hook
Surviving a user logoff
Recompiling packages
Multiple desktops
Remote administration
Remote operation
Multiple users
Citrix MetaFrame
Multi-user Windows kernel
Terminal server
TEMP environment variable
HKEY_LOCAL_MACHINE
Terminal Services API
WTSEnumerateSessions
WTSAPI32.H
Platform SDK
WTS_CURRENT_SERVER_HANDLE
SM_REMOTESESSION
Session information
ProcessIDtoSessionID
Process ID, Session ID
WTSFreeMemory
SOAP server application
THHTPSOAPDispatcher
IInvokable interface
InvokeRegistry
stdcall calling convention
HTTPRIO component
Remote invokable object
WSDLLocation
Security procedures
Creating secure software
Preventing hacking
Packet sniffing
TCP/IP packets
Data sniffing
Natas sniffing tool
Cracking passwords
Social engineering
SSL secure socket layer
Virtual private network
Encryption algorithms
Web page expiration
HTML expires
Browser back button
Expires meta tag
Buffer overrun
EIP register
Burrows-Wheeler transform
Deflate algorithm, Deflate64
NP-complete problem
Block transform
LX77, Zip
Move-to-front algorithm
Move to front algorithm
Jon Bentley
Decompression
Kylix desktop developer
Generating dynamic images
TGraphicField.AsString
Binary data
BMP bitmap format
Netscape and BMP bitmaps
Biolife table images
Converting BMP to JPEG JPG
String types
Pascal string type
Allocating string data
String initialisation
String finalisation
DCUExplorer
Disassemble DCU files
Local and global scope
AnsiString implementation
String function results
Passing string arguments
@LstrClr
SafeGuards
JEDI code library
Microsoft TechEd Europe 2001
.NET
WSDL, UDDI
MSF
Solutions framework
BitArts
Software protection
Piracy
EXE wrapper
Authentication
Mutation engine
Selling software
Secure transactions
Delphi IDE experts
Gerald Nunn
Erik B Berry
Generating experts
Local variables
Assign to record properties
Updating record properties
Record property
IDE loses toolbar custom
Lost toolbar customisation
Save IDE toolbar status
Free or Destroy
Insert Tab character
Automation servers
TExcelApplication
Member not found error
VBA
TExcelWorksheet
MoveFile_Delay_UntilReboot
TNMSMTP